Software


SpNS

  • SpNS is a pseudo-spectral code for DNS and LES of homogeneous isotropic turbulence. It is compatible with rotating or static rectangular domains of arbitrary dimensions and implements a CFL-based and a self-adaptive time integration of the Navier-Stokes equations. SpNS uses MPI and OpenMP for distributed- and shared-memory parallelism and MPI I/O for input/output. It relies on FFTW for computing Fourier transforms and supports single- and double-precision arithmetic. Performance tests on up to 2048³ grids using up to 1600 CPU cores proved its parallel efficiency.

LRCFSAI(k)

  • Implementation of the low-rank corrected FSAI preconditioner, an enhanced variant of the adaptive FSAI included in Chronos. Thanks to introducing very effective low-rank corrections, it replaces the standard sparse matrix-vector product (SpMV) with the more compute-intensive sparse matrix-matrix product (SpMM), resulting in fewer and faster iterations while lowering the memory requirements. Numerical experiments on up to 1.07 billion grids showed that despite being 2.6x lighter, LRCFSAI(k) outperforms the standard FSAI by up to 4.4x.

HPC²

  • HPC² is an algebra-based framework for heterogeneous computing with many potential applications in the fields of computational physics and mathematics. It aims to provide a user-friendly environment allowing domain scientists to write fully-portable algorithms by relying on a minimal set of (sparse) linear algebra kernels. The code is implemented in C++ and relies on MPI, OpenMP, CUDA and OpenCL parallel frameworks. Its performance and parallel efficiency have been demonstrated on HPC systems equipped with various architectures, including conventional CPUs, ARM and NVIDIA and AMD GPUs.