SIMD for Collision

(box2d.org)

23 points | by birdculture 3 days ago

2 comments

  • grg0 14 minutes ago
    As a SIMD noob, one thing that wasn't obvious to me is that SIMD can also speed you up if your mem throughput is underutilized by having the CPU load more data per instruction. It isn't just about compute speedups, which is typically what it's advertised for. Using perf on Linux has been very educational for me to get an intuition for modern CPU performance.
    • Cloudef 10 minutes ago
      The way simd speeds up "compute" is indeed mainly the reason that you operate on multiple pieces of data at once.
      • grg0 2 minutes ago
        Yeah, and in the blog post he mentions that he had to transform the data to SoA. If he had done that alone, he might already have seen a speedup from better cache utilization.

        Also, I see no mention of alignment in the post. I understand x86/AVX2 likes your load/stores to be aligned, even if it technically allows unaligned access.

  • brcmthrowaway 54 minutes ago
    No support for any ARM vector instructions.. thats horrible