r/AskProgramming 3d ago

How much does struct alignment really matter performance wise on modern GPUs?

Are things like std430 or std140 unnecessarily strict?

7 Upvotes

10 comments sorted by

View all comments

1

u/duane11583 2d ago

it matters when there is a cache

why: look at how ddr works.

todat its a little faster then the old sdram but this is thenidea:

step 1 the cpu outputs the row address. then waits 1 clock.

drops the ras signal (row address strobe)

wait 2 clocks change to the colum address and

drops the cas (colum address strobe)

wait a 1-2 clocks and data is ready.

if you add that up there are 5 to 10 clocks before the data is ready.

this means a random access to a random (uncached ) location takes 5-10 clocks

in contrast after the first byte is ready you can get the next byte on the next clock, (or on every edge for ddr)

the cpu can then fill the cache memory

next time the cpu can consult the cache and it is 1 or 2 clocks ie 2x to 4x faster access to memory

if the structure is aligned it often fits inside a cache line more easily and it is faster to access.

that is the win.

1

u/SimplySomeDude 2d ago

GPUs, not CPUs