Basics of Vectorization for Fortran Applications - Archive ouverte HAL Access content directly
Reports (Research Report) Year : 2018

Basics of Vectorization for Fortran Applications

Notions de base pour la vectorisation des applications Fortran

(1)
1
Laércio Lima Pilla

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.
Ce document présente une vue générale de la vectorisation (utilisation d'instructions vectorielles / SIMD) pour les applications Fortran. La vectorisation du code devient de plus en plus importante car elle permet d'augmenter fortement le nombre d'opération flottantes par seconde (FLOPS) avec les processeurs actuels et futurs. Cependant, la vectorisation automatique effectuée par le compilateur peut ne pas être une option dans tous les cas en raison de dépendances, d'ambiguïtés ou d'accès aux données éparses. Afin de couvrir les bases de la vectorisation, ce document explique explique le fonctionnement des instructions vectorielles pour différentes architectures, comment le code peut être vectorisé, et comment tester si votre code a bien été vectorisé. Ce document est principalement destiné aux développeur·euse·s et aux ingénieur·e·s ayant une connaissance de base de l'architecture informatique et de la programmation en Fortran. Il a été conçu pour servir de point de départ aux personnes travaillant sur la vectorisation des applications et n'aborde pas le sujet dans tous ses détails.
Fichier principal
Vignette du fichier
RR-9147.pdf (424.82 Ko) Télécharger le fichier
Loading...

Dates and versions

hal-01688488 , version 1 (25-01-2018)

Licence

Public Domain Mark - CC BY 4.0

Identifiers

  • HAL Id : hal-01688488 , version 1

Cite

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⟩
183 View
4886 Download

Share

Gmail Facebook Twitter LinkedIn More