O'Reilly logo

High Performance Parallelism Pearls Volume Two by James Reinders, Jim Jeffers

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 24

Portable Explicit Vectorization Intrinsics

Paulo Souza*; Leonardo Borges; Cedric Andreolli; Philippe Thierry    * Petrobras, Brazil Intel, France Intel, USA

Abstract

This chapter presents OpenVec. OpenVec provides a powerful and simple way to express vectorization closer to assembly level but in a portable way, supporting SIMD architectures from over a decade ago up to the most recent architectures including AVX-512. Vectorization is a fundamental aspect of performance optimization. Good compiler vectorizers, abstract language extensions like Cilk Plus, OpenMP SIMD, and other compiler options can effectively take care of the majority of the source code base. Yet, applications may contain very specific and delimited region(s) ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required