Vectorization Studies of Random Number Generators on Intel’s Haswell Architecture
- 1. CERN openlab Summer Student
- 2. Summer Student Supervisor
Description
Project Specification
This project concerns the field of vectorization for Computing in High Energy Physics at CERN,Geneva. This paper summarises the results and progress of vectorizing two newly proposed counter based random number generators on Intel’s Haswell Architecture.
Abstract
This project studies SIMD optimizing two different newly proposed random number generators on Intel’s Haswell architecture with AVX2 instruction sets. AVX2 instruction set is necessary since many random number generators rely on 64-bit integer multiplication. In first phase, mathematical algorithms behind the random number generators are studied and the places where they can be vectorized are identified. Then all internal data structures of random number generators are transformed from Array of Struct to Struct of Array for better auto-vectorization. To achieve better results intrinsics are used via a high-level C++ wrapping library. In second phase we performed benchmarks and studied the speed up obtained up to 1.57 times for Threefry CBRNG due to vectorization on Haswell.
Files
CERN_openlab_Yigit_Demirag.pdf
Files
(736.4 kB)
Name | Size | Download all |
---|---|---|
md5:5f218f67470c3229eafd1557b8f50cb8
|
736.4 kB | Preview Download |