Vectorization of a spectral finite-element numerical kernel - Archive ouverte HAL Accéder directement au contenu
Communication Dans Un Congrès Année : 2018

Vectorization of a spectral finite-element numerical kernel

Résumé

In this paper, we present an optimized implementation of the Finite-Element Methods numerical kernel for SIMD vectorization. A typical application is the modelling of seismic wave propagation. In this case, the computations at the element level are generally based on nested loops where the memory accesses are non-contiguous. Moreover, the back and forth from the element level to the global level (e.g., assembly phase) is a serious brake for automatic vectorization by compilers and for efficient reuse of data at the cache memory levels. This is particularly true when the problem under study relies on an unstructured mesh. The application proxies used for our experiments were extracted from EFISPEC code that implements the spectral finite-element method to solve the elastodynamic equations. We underline that the intra-node performance may be further improved. Additionally, we show that standard compilers such as GNU GCC, Clang and Intel ICC are unable to perform automatic vectorization even when the nested loops were reorganized or when SIMD pragmas were added. Due to the irregular memory access pattern, we introduce a dedicated strategy to squeeze the maximum performance out of the SIMD units. Experiments are carried out on Intel Broadwell and Skylake platforms that respectively offer AVX2 and AVX-512 SIMD units. We believe that our vectorization approach may be generic enough to be adapted to other codes.

Mots clés

Fichier principal
Vignette du fichier
EFISPEC_vectorization.pdf (1.12 Mo) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-01835745 , version 1 (18-01-2022)

Identifiants

Citer

Sylvain Jubertie, Fabrice Dupros, Florent de Martin. Vectorization of a spectral finite-element numerical kernel. WPMVP 2018, Feb 2018, Vienna, France. ⟨10.1145/3178433.3178441⟩. ⟨hal-01835745⟩
108 Consultations
85 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More