The Variable Precision Processor VXP: preliminary performance results on generic Krylov-based solvers - CEA - Commissariat à l’énergie atomique et aux énergies alternatives Accéder directement au contenu
Poster De Conférence Année : 2023

The Variable Precision Processor VXP: preliminary performance results on generic Krylov-based solvers

Résumé

The VXP is a hardware accelerator designed at CEA-List and designed to support extended precision for the resolution of large, ill-conditioned scientific computing problems [1]. Its primary target is to accelerate the convergence of Krylov subspace solvers and eigensolvers, which are the dominant linear kernels of modern applications in computational Fluidics, structure calculation, etc. The VXP is specifically tailored for accurate floating-point computation using arbitrary length fractional parts (up to 512 bits). It supports IEEE 754 extendable format in memory with byte-aligned data format to optimize memory usage and computing efficiency. The VXP core is built upon a 64 bits RISC V processor which has been modified to feature an extended and variable precision Floating-Point Unit (FPU), a custom Load-and-Store Unit (LSU) and internal registers for up to 512 bits of mantissa and 18 bits of exponent floating-point working registers. The VXP has been implemented on Silicon as part of EPI system [2] . Nevertheless, since the silicon not yet available (it is expected for Fall 23), this preliminary study has been realized with the prototype versions based on 1/ FPGA Xilinx Virtex UltraScale+ board and 2/ hardware emulation. The runtime environment is the Real-Time Executive for Multiprocessor Systems (RTEMS rev 5.1). The classical BLAS functions such as gemv, dot, axpy are implemented for extended precision using calls to assembly. VXPs are meant for running in parallel, but this has not been considered in this study: all results are obtained with serial implementation involving only one core. The experiments reported here are coded in C/C++ with extended types. Compilation currently uses a modified version of gcc. The present work evaluates the performance impact of extended precision 1/ on generic vector-vector, matrix-vector and matrix-matrix operations, 2/ on commonly used Krylov-subspace solvers, namely Jacobi preconditioned Conjugate Gradient (PCG) and Bi-Conjugate Gradient (BiCG) and 3/ on the periodic reorthogonalization variant of Lanczos tridiagonalization, which is used for eigen-decomposition. The study involves both dense and sparse matrices. For sparse matrices, we select a subset the Florida sparse Matrix Collection [3] [4], whose actual diagonal size range between 4K and 20K, in order to comply with the limits of our prototyping platform. Otherwise, we use the ransvd method [5] to generate pseudo-random dense matrices. From this set of matrices, we perform two series of evaluations: 1. Iteration count: Using the same library on the same VXP platform, we compare the convergence, i.e. the number of iterations necessary for reaching a predefined error tolerance, between executions in different precisions (including standard double format). This metric is valid for linear solvers, eg PCG and BiCG. For tridiagonalization, we instead measure the number of necessary reorthogonalizations. 2. Cycle count: We measure the execution times of the linear solvers, in clock cycles, using our complete HW/SW, and compared them to equivalent kernels running with the same precision on a MPFR [6] software emulation on the same platform. We observe up to an 8X improvements on kernel iteration count, and up to a 40 % improvement on latency. The count is predictable for dense matrices, and varies with structure for sparse matrices. Nevertheless, the main benefit is the stability gained with the precision. It makes it possible to resolve larger and ill-conditioned systems without costly compensating techniques.
Fichier principal
Vignette du fichier
2023_SparseDays_YD.pdf (2.04 Mo) Télécharger le fichier Fichier principal
Vignette du fichier
VXPabstract_v1.pdf (669.97 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

cea-04487791 , version 1 (04-03-2024)

Identifiants

  • HAL Id : cea-04487791 , version 1

Citer

Yves Durand, Jérome Fereyre, César Fuguet Tortolero. The Variable Precision Processor VXP: preliminary performance results on generic Krylov-based solvers. Colloque Sparse Days 2023, Jun 2023, Toulouse, France. 2023. ⟨cea-04487791⟩
13 Consultations
13 Téléchargements

Partager

Gmail Facebook X LinkedIn More