NASA Logo

NTRS

NTRS - NASA Technical Reports Server

Press Enter or click the Search button to begin your search.

Back to Results
Performance and Portability of a Linear Solver Across Emerging ArchitecturesA linear solver algorithm used by a large-scale unstructured-grid computational fluid dynamics application is examined for a broad range of familiar and emerging architectures. Efficient implementation of a linear solver is challenging on recent CPUs offering vector architectures. Vector loads and stores are essential to effectively utilize available memory bandwidth on CPUs, and maintaining performance across different CPUs can be difficult in the face of varying vector lengths offered by each. A similar challenge occurs on GPU architectures, where it is essential to have coalesced memory accesses to utilize memory bandwidth effectively. In this work, we demonstrate that restructuring a computation, and possibly data layout, with regard to architecture is essential to achieve optimal performance by establishing a performance benchmark for each target architecture in a low level language such as vector intrinsics or CUDA. In doing so, we demonstrate how a linear solver kernel can be mapped to Intel® Xeon™ and Xeon Phi™, Marvell® ThunderX2®, NEC® SX-Aurora™ TSUBASA Vector Engine, and NVIDIA® and AMD® GPUs. We further demonstrate that the required code restructuring can be achieved in higher level programming environments such as OpenACC, OCCA, and Intel® OneAPI™/SYCL, and that each generally results in optimal performance on the target architecture. Relative performance metrics for all implementations are shown, and subjective ratings for ease of implementation and optimization are suggested.
Document ID
20205006988
Acquisition Source
Langley Research Center
Document Type
Conference Paper
Authors
Aaron C. Walden
(Langley Research Center Hampton, Virginia, United States)
Mohammad Zubair
(Old Dominion University Norfolk, Virginia, United States)
Eric J. Nielsen
(Langley Research Center Hampton, Virginia, United States)
Date Acquired
August 31, 2020
Subject Category
Computer Programming And Software
Meeting Information
Meeting: The International Conference for High Performance Computing, Networking, Storage, and Analysis
Location: Online
Country: US
Start Date: November 9, 2020
Sponsors: IEEE Computer Society
Funding Number(s)
WBS: 811540.19.01.07
Distribution Limits
Public
Copyright
Public Use Permitted.
Keywords
Programming models
Performance portability
Emerging architecture
CFD
HPC
CUDA
OpenACC
OCCA
AVX-512 intrinsics
Neon intrinsics
arm
GPU
V100
A100
MI50
Xeon Phi
SX-Aurora
ThunderX2
No Preview Available