andersch.dev

<2025-03-31 Mon>

SIMT (Single Instruction, Multiple Threads)

Single Instruction, Multiple Threads (SIMT) is an execution model that allows for parallel processing in GPUs. It is a combination of SIMD & multithreading.

This means that when a float is declared in a GPU program (like a shader), behind the scenes it is actually a 1024 bits vector float<32> (SIMD-like). However, the fetching & saving of memory using load/store is different from SIMD, as it is implicit scatter gather (each thread in a warp loads its own data from its own address), whereas with SIMD it is explicit.