Damus
Andrew Zonenberg profile picture
Andrew Zonenberg
@Andrew Zonenberg
Is there a term for second-order SIMD? Like vectors within vectors?

GPUs are already SIMD in that each shader thread is one SIMD lane within a large vector in the SM... But I am starting to write shaders for ngscopeclient that pack four boolean uint8 simd lanes into a single uint32 vector.

This allows you to get 4x the memory bandwidth and also doesn't rely on the shader_int8 extension that not all GPUs support, eliminating the need for a CPU based fallback implementation
1
Ignas Kiela · 4w
nostr:nprofile1qy2hwumn8ghj7un9d3shjtnyd968gmewwp6kyqpqqv5atqz9k9c54q8c28kra6sfata0wk7w7x5gkrnde8vmxe5gt00q8mmv7s SWAR is for packing operations on smaller elements into operations on larger ones not sure about how you talk about when you use it in regular SIMD