Computational Performance of Intel MIC, Sandy Bridge, and GPU Architectures: Implementation of a 1D c++/OpenMP Electrostatic Particle-In-Cell Code
Abstract
We present initial comparison performance results for Intel MIC, Sandy Bridge (SB), and GPU. A 1D explicit electrostatic particle-in-cell (PIC) code is used to simulate a two-stream instability in plasma. We compare the computation times for various number of cores/threads and compiler options. The parallelization is implemented via OpenMP with maximum thread number of 128. Parallelization and vectorization on the GPU is achieved with modifying the code syntax for compatibility with CUDA. We assess the speedup due to various auto-vectorization and optimization level compiler options. Our results show that the MIC is several times slower than SB for a single thread and it becomes faster than SB when the number of cores increases with vectorization switched on. The compute times for the GPU are consistently about 6-7 times faster than the ones for MIC. Compared to SB, the GPU is about 2 times faster for a single thread and about an order of magnitude faster for 128 threads. The net speedup, however, for MIC and GPU are almost the same. An initial attempt to offload parts of the code to the MIC co-processor shows that there is an optimal number of threads where the speedup reaches a maximum.
Document Details
- Document Type
- Technical Report
- Publication Date
- May 01, 2014
- Accession Number
- ADA607056
Entities
People
- A. Vapirev
- Giovanni Lapenta
- I. Hur
- J. Cambier
- J. Deca
- S. Markidis
Organizations
- Katholieke Universiteit Leuven - Universiteitsarchief