Chapter 22

SIMD Functions Via OpenMP

George M. Raskulinec; Evgeny Fiksman    Intel Corporation, USA

Abstract

This chapter discusses vectorization via the use of Single Instruction Multiple Data (SIMD)-enabled functions in C, C++, and Fortran. Using a financial code problem as the example, the chapter discusses issues that impact optimal vectorization, then presents modified code and performance results. SIMD-enabled functions can greatly enhance application performance without making significant changes to a program. This chapter focuses on (1) the use of the OpenMP pragma SIMD directive that explicitly tells the compiler to turn a loop into an SIMD vector loop and (2) the use of the OpenMP SIMD processor() clause that tells the compiler to ...

Get High Performance Parallelism Pearls Volume Two now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.