Basics of Vectorization for Fortran Applications

Laércio Lima Pilla 1
1 CORSE - Compiler Optimization and Run-time Systems
Inria Grenoble - Rhône-Alpes, LIG - Laboratoire d'Informatique de Grenoble
Abstract : This document presents a general view of vectorization (use of vector/SIMD instructions) for Fortran applications. The vectorization of code becomes increasingly important as most of the performance in current and future processor (in floating-point operations per second, FLOPS) depends on its use. Still, the automatic vectorization done by the compiler may not be an option in all cases due to dependencies, ambiguity, or sparse data access. In order to cover the basics of vectorization, this document explains the operation of vector instructions for different architectures, how code vectorization can be done, and how to test if your code has vectorized well. This document is intended mainly for use by developers and engineers with basic knowledge of computer architecture and programming in Fortran. It was designed to serve as a starting point for people working on the vectorization of applications, and does not address the subject in all its details.
Complete list of metadatas

Cited literature [2 references]  Display  Hide  Download

https://hal.inria.fr/hal-01688488
Contributor : Laércio Lima Pilla <>
Submitted on : Thursday, January 25, 2018 - 1:05:26 PM
Last modification on : Friday, October 25, 2019 - 1:31:44 AM
Long-term archiving on: Thursday, May 24, 2018 - 7:44:47 AM

Licence


Distributed under a Creative Commons Public Domain Mark 4.0 International License

Identifiers

  • HAL Id : hal-01688488, version 1

Citation

Laércio Lima Pilla. Basics of Vectorization for Fortran Applications. [Research Report] RR-9147, Inria Grenoble Rhône-Alpes. 2018, pp.1-9. ⟨hal-01688488⟩

Share

Metrics

Record views

221

Files downloads

2624