I’ve Joined Epic to Work on Verse

After four relaxing weeks off since I left Unity, I’m pleased to announce I’ve joined the Verse team over at Epic. Today was my first day, so obviously this is the day that I feel the most like an impostor! I’ve done this a few times now (jumping contract to contract when I worked at Codeplay, and then moving to AMD, Unity, and now Epic), and the feeling always passes once you become familiar with the way things are done at the new gig.

Floating Point Compression Revisited

In a previous post I looked at floating-point compression, and it generated quite a lot of interest on Twitter, with lots of people suggesting things. So I haven’t tried them all (only the first few that people suggested), but I thought I’d present the results I did try. First, the chart! There was three different approaches that I looked at with this chart. zfp One thing that was suggested was zfp which claims to compress floating-points really well.

I’m Leaving Unity

After three years of work at Unity I’m leaving the company, today being my last day. I’m immensely proud of the work I did to make Burst and HPC# so powerful for our users both within and outwith Unity, and to have worked with some really great people along the way. I fulfilled a lifelong ambition to work closely with some heroes of mine like Andreas Fredriksson, Daniel Collin, Cort Stratton, and many others, and I met some truly amazing people at Unity who I didn’t previously know (Lee Hammerton, Sebastian Schöner, Alex Thibodeau, Tim Jones, Alexandre Mutel, among many others).

Floating Point Compression - How Small Can We Get?

Editors prefix: I originally penned this in September, but got cold feet that I had somehow missed something crucial in my investigations, impostor syndrome reared its head, and I binned the post. But after being involved in a tweet thread about the compressibility of these tables, I’m gonna just publish my potentially flawed work incase someone notices something obvious! Having implemented my fair share of drivers, and worked on a few languages too, one thing that has always interested me is how can we check that math functions are correct.

LLVM 15 Compile Time With Burst

With the Burst compiler that I work on here at Unity, we use LLVM to produce highly performant codegen from the High Performance C# (HPC#) subset that we compile. We keep Burst actively supported all the way back to LLVM 10, so it means that I can always get an idea of the performance improvements (or regressions) that occur between LLVM versions. I’ve used a big internal project that amounts to about 2.