4 ms·
Note the results you quoted are for a test case in which all instructions are back-to-back dependent, which is good for testing the hardware and developing perf
by rrss 6y ago
Note the results you quoted are for a test case in which all instructions are back-to-back dependent, which is good for testing the hardware and developing performance models, but not representative of well-tuned GPU codes.
> doesn't answer if there is a disadvantage in having too many warps,
There are disadvantages in having too many warps - the first is that the more warps per block you have, the fewer registers/thread you can use and the lower your achievable instruction level parallelism.
> but considering that the max warps/block/sm is 32, we can say that you need 32 warps / 1024 threads per SM for optimal performance most often
I don't think any well-tuned GPU kernels use 32 warps/block, most are at 4 to 8 warps/block.
See also:
https://github.com/NervanaSystems/maxas/wiki/SGEMM https://github.com/NervanaSystems/maxas/wiki/SGEMM
https://www.nvidia.com/content/GTC-2010/pdfs/2238_GTC2010.pdf https://www.nvidia.com/content/GTC-2010/pdfs/2238_GTC2010.pd...
- majke 6y agoThis is great. Thanks