conference paper
Extending OpenMP* with vector constructs for modern multicore SIMD architectures
Abstract
In order to obtain maximum performance, many applications require to extend parallelism from multi-threading to instruction-level (SIMD) parallelism that exists in many current (and future) multi-core architectures. While auto-vectorization technology has been used to exploit this SIMD level, it is not always enough due to OpenMP semantics and compiler technology limitations. In those cases, programmers need to resort to low-level intrinsics or vendor specific directives. We propose a new OpenMP directive: the simd directive. This directive will allow programmers to guide the vectorization process enabling a more productive and portable exploitation of the SIMD level. Our performance results show significant improvements over current auto-vectorizing technology of the Intel® Composer XE 2011.Peer ReviewedPostprint (published version- Conference report
- Àrees temàtiques de la UPC::Informàtica::Llenguatges de programació
- Àrees temàtiques de la UPC::Informàtica::Arquitectura de computadors::Arquitectures paral·leles
- Parallel programming (Computer science)
- Processor architectures
- Algorithm analysis and problem complexity
- System performance and evaluation
- Programming languages
- Compilers
- Interpreters
- Computation by abstract devices
- Programming techniques
- Programació en paral·lel (Informàtica)