What the machine is actually good at, and which of its limits a technique is fighting.
Colour is the family; a dashed line is the second member of it.
Plots attainable performance against arithmetic intensity, bounded by peak compute on one side and memory bandwidth on the other. Tells you which of… · 2009
Operations performed per byte moved. The single number that decides whether a kernel is compute bound or bandwidth bound, and therefore which optimis…
When lanes in a group take different sides of a branch, the hardware runs both sides and masks off the lanes that should not execute. Cost is the sum…
Successive levels trade capacity for latency and bandwidth. Almost every optimisation below the algorithmic level is a rearrangement to make a workin…
Lanes whose addresses fall in one cache line are served by a single transaction. Scattered addresses become one transaction each, which is the differ…
One instruction applied to many data lanes at once. The arrangement that makes throughput hardware cheap: fetch and decode are paid once for a whole…
Lanes are presented as independent threads sharing an instruction stream. Lets ordinary branching code be written for vector hardware, at the cost of…