home.social

#taichilang — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #taichilang, aggregated by home.social.

  1. My #introduction needs a refresh.

    I'm a #PhD student at the University of #Vermont, studying the #Evolution of #Evolvability. I'm into #AI, #ALife, #Biology, and #Philosophy, because I want to understand #life, #adaptation, and #intelligence using my native language of #ComputerScience. I share my musings and #research on my #blog. I love #science generally, and am full of bitchy #AcademicChatter.

    I was a #SoftwareEngineer in #SiliconValley for many years, but left in 2021. I'm glad I did, and now I feel a bit betrayed by the #TechIndustry. I've been going back to my #FOSS roots, and gradually #DeGoogle ing my life. I still love to talk about #code #craft, #UX, and healthy #engineering #culture. Recently I've been enjoying #gpu #programming, mostly in #taichilang.

    I have a wife and a #cat. I love #nature, #photography, #cooking, and #yoga.

    All kinds of people are valid and worthy, but #trans people, folks on the #autism spectrum, and #bipoc get a shout out right now because they need our support.

  2. I've been trying Jax for an Alife programming project, and that's just made me appreciate Taichi more.

    The big selling point of Jax for a lot of people is vmap, which is an easy way to jit compile and vectorize Python code. It can get you a huge performance boost for little effort on custom code operating on Numpy-style arrays. That's already a boon for many projects! It's also perfect for "glue code" between GPU-based libraries or neural networks that avoids memory transfers over the PCI bus. What it doesn't do is use all the threads on your GPU, which is a shame, because there are thousands of them. For that, you have to write a custom kernel using an underdeveloped side library.

    Taichi requires more thoughtful coding than Jax, but it lets you write kernels that use your whole GPU in a simple, clean way without manually managing grid sizes and memory allocations. This is a huge win for big simulation jobs, in terms of performance and ease of use.

    #jax #taichilang #numpy #python #programming #alife

  3. I've finally finished my traditional NEAT-based evolver of "interesting" Game of Life patterns. It sucks! But, now I'm convinced that it sucks, not because of my code, but because of the limitations of this algorithm. That's perfect! 'Cuz now I get to use it as my control for something way more interesting.

    Now for the fun part. :blobcat_engineer:

    #programming #EvolutionaryComputation #taichilang #gecco2024

  4. I'm having a lot of fun developing my custom, GPU accelerated implementation of the NEAT algorithm, even though it's extremely challenging work. Currently beginning to tune the evolutionary algorithm for managing a diverse population of neutral networks.

    #programming #EvolutionaryComputation #taichilang