Overview Statistic: PDF-Downloads (blue) and Frontdoor-Views (gray)
  • Treffer 2 von 4
Zurück zur Trefferliste

Portable SIMD Performance with OpenMP* 4.x Compiler Directives

  • Effective vectorization is becoming increasingly important for high performance and energy efficiency on processors with wide SIMD units. Compilers often require programmers to identify opportunities for vectorization, using directives to disprove data dependences. The OpenMP 4.x SIMD directives strive to provide portability. We investigate the ability of current compilers (GNU, Clang, and Intel) to generate SIMD code for microbenchmarks that cover common patterns in scientific codes and for two kernels from the VASP and the MOM5/ERGOM application. We explore coding strategies for improving SIMD performance across different compilers and platforms (Intel® Xeon® processor and Intel® Xeon Phi™ (co)processor). We compare OpenMP* 4.x SIMD vectorization with and without vector data types against SIMD intrinsics and C++ SIMD types. Our experiments show that in many cases portable performance can be achieved. All microbenchmarks are available as open source as a reference for programmers and compiler experts to enhance SIMD code generation.
Metadaten
Verfasserangaben:Florian WendeORCiD, Matthias NoackORCiD, Thomas Steinke, Michael Klemm, Georg Zitzlsberger, Chris J. Newburn
Herausgeber:in:Pierre-Francois Dutot, Denis Trystram
Dokumentart:Konferenzbeitrag
Band:Euro-Par 2016: Parallel Processing: 22nd International Conference on Parallel and Distributed Computing
Serie:LNCS
Verlag:Springer International Publishing
Jahr der Erstveröffentlichung:2016
DOI:https://doi.org/10.1007/978-3-319-43659-3_20
Accept ✔
Diese Webseite verwendet technisch erforderliche Session-Cookies. Durch die weitere Nutzung der Webseite stimmen Sie diesem zu. Unsere Datenschutzerklärung finden Sie hier.