Importance of Explicit Vectorization for CPU and GPU Software Performance

Neil G. Dickson, Kamran Karimi, Firas Hamze
D-Wave Systems Inc., 100-4401 Still Creek Drive, Burnaby, British Columbia, Canada, V5C 6G9
arXiv:1004.0024v1 [cs.DC] (31 Mar 2010)


   title={Importance of explicit vectorization for CPU and GPU software performance},

   author={Dickson, N.G. and Karimi, K. and Hamze, F.},

   journal={Arxiv preprint arXiv:1004.0024},



Download Download (PDF)   View View   Source Source   



Much of the current focus in high-performance computing is on multi-threading, multi-computing, and graphics processing unit (GPU) computing. However, vectorization and non-parallel optimization techniques, which can often be employed additionally, are less frequently discussed. In this paper, we present an analysis of several optimizations done on both central processing unit (CPU) and GPU implementations of a particular computationally intensive Metropolis Monte Carlo algorithm. Explicit vectorization on the CPU and the equivalent, explicit memory coalescing, on the GPU are found to be critical to achieving good performance of this algorithm in both environments. The fully-optimized CPU version achieves a 9x to 12x speedup over the original CPU version, in addition to speedup from multi-threading. This is 2x faster than the fully-optimized GPU version.
No votes yet.
Please wait...

Recent source codes

* * *

* * *

HGPU group © 2010-2024 hgpu.org

All rights belong to the respective authors

Contact us: