Comment

Comment by TinkersW

I write a lot of SIMD and I don't really agree with this..

Flaw1:fixed width

I prefer fixed width as it makes the code simpler to write, size is known as compile time so we know the size of our structures. Swizzle algorithms are also customized based on the size.

Flaw2:pipelining

no CPU I care about is in order so mostly irrelevant, and even scalar instructions are pipelined

Flaw3: tail handling

I code with SIMD as the target, and have special containers that pad memory to SIMD width, no need to mask or run a scalar loop. I copy the last valid value into the remaining slots so it doesn't cause any branch divergence.

parent TinkersW 1 year ago

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton