Understanding the impact of CUDA tuning techniques for Fermi
Understanding the impact of CUDA tuning techniques for Fermi
复制标题
DOI:
10.1109/hpcsim.2011.5999886
复制
发表时间:
2011-07
期刊:
影响因子:
--
通讯作者:
Yuri Torres;Arturo González-Escribano;D. Ferraris
中科院分区:
文献类型:
--
作者:
Yuri Torres;Arturo González-Escribano;D. Ferraris
While the correctness of an NVIDIA CUDA program is easy to achieve, exploiting the GPU capabilities to obtain the best performance possible is a task for CUDA experienced programmers. Typical code tuning strategies, like choosing an appropriate size and shape for the thread-blocks, programming a good coalescing, or maximize occupancy, are inter-dependent. Moreover, the choices are also dependent on the underlying architecture details, and the global-memory access pattern of the designed solution. For example, the size and shapes of threadblocks are usually chosen to facilitate encoding (e.g. square shapes), while maximizing the multiprocessors' occupancy. However, this simple choice does not usually provide the best performance results. In this paper we discuss important relations between the size and shapes of threadblocks, occupancy, global memory access patterns, and other Fermi architecture features, such as the configuration of the new transparent cache. We present an insight based approach to tuning techniques, providing lines to understand the complex relations, and to easily avoid bad tuning settings.