Published September 1, 2014 | Version v1
Report Open

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