- User Since
- Feb 17 2015, 4:36 PM (239 w, 1 d)
May 12 2015
May 6 2015
May 5 2015
May 3 2015
@George Kyriazis (kyriazis), @Lenny Wang (lennyhpc) : Please correct me, If I am wrong in making the following statements.
@Sergey Sharybin (sergey) : sd_fetch() is added in order to realize the structure-of-arrays implementation for ShaderData structure. The structure of arrays implementation facilitates a coalesced memory access to ShaderData structure, which is a good memory access pattern for GPUs.
Also considering the huge size of ShaderData structure, sometimes the compiler generates code with spilled registers (spilled registers reside in high-latency global memory). This usage of spilled registers actually increases the global memory fetches in some cases.
We observed performance improvement after doing the structure-of-arrays implementation of ShaderData structure.