Enabling mixed-precision in spectral element codes

Fuente: arXiv
Guardado en:
Detalles Bibliográficos
Autores principales: Chen, Yanxiang, Castro, Pablo de Oliveira, Bientinesi, Paolo, Jansson, Niclas, Iakymchuk, Roman
Formato: Preprint
Publicado: 2025
Materias:
Acceso en línea:
Etiquetas: Agregar Etiqueta
Sin Etiquetas, Sea el primero en etiquetar este registro!
_version_ 1866913920391839744
author Chen, Yanxiang
Castro, Pablo de Oliveira
Bientinesi, Paolo
Jansson, Niclas
Iakymchuk, Roman
author_facet Chen, Yanxiang
Castro, Pablo de Oliveira
Bientinesi, Paolo
Jansson, Niclas
Iakymchuk, Roman
contents Mixed-precision computing has the potential to significantly reduce the cost of exascale computations, but determining when and how to implement it in programs can be challenging. In this article, we propose a methodology for enabling mixed-precision with the help of computer arithmetic tools, roofline model, and computer arithmetic techniques. As case studies, we consider Nekbone, a mini-application for the Computational Fluid Dynamics (CFD) solver Nek5000, and a modern Neko CFD application. With the help of the Verificarlo tool and computer arithmetic techniques, we introduce a strategy to address stagnation issues in the preconditioned Conjugate Gradient method in Nekbone and apply these insights to implement a mixed-precision version of Neko. We evaluate the derived mixed-precision versions of these codes by combining metrics in three dimensions: accuracy, time-to-solution, and energy-to-solution. Notably, mixed-precision in Nekbone reduces time-to-solution by roughly 1.62x and energy-to-solution by 2.43x on MareNostrum 5, while in the real-world Neko application, the gain is up to 1.3x in both time and energy, with the accuracy that matches double-precision results.
format Preprint
id arxiv_https___arxiv_org_abs_2503_02134
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Enabling mixed-precision in spectral element codes
Chen, Yanxiang
Castro, Pablo de Oliveira
Bientinesi, Paolo
Jansson, Niclas
Iakymchuk, Roman
Mathematical Software
Distributed, Parallel, and Cluster Computing
Mixed-precision computing has the potential to significantly reduce the cost of exascale computations, but determining when and how to implement it in programs can be challenging. In this article, we propose a methodology for enabling mixed-precision with the help of computer arithmetic tools, roofline model, and computer arithmetic techniques. As case studies, we consider Nekbone, a mini-application for the Computational Fluid Dynamics (CFD) solver Nek5000, and a modern Neko CFD application. With the help of the Verificarlo tool and computer arithmetic techniques, we introduce a strategy to address stagnation issues in the preconditioned Conjugate Gradient method in Nekbone and apply these insights to implement a mixed-precision version of Neko. We evaluate the derived mixed-precision versions of these codes by combining metrics in three dimensions: accuracy, time-to-solution, and energy-to-solution. Notably, mixed-precision in Nekbone reduces time-to-solution by roughly 1.62x and energy-to-solution by 2.43x on MareNostrum 5, while in the real-world Neko application, the gain is up to 1.3x in both time and energy, with the accuracy that matches double-precision results.
title Enabling mixed-precision in spectral element codes
topic Mathematical Software
Distributed, Parallel, and Cluster Computing
url https://arxiv.org/abs/2503.02134