TRUST Release Note - V1.9.7

This page details the major changes and new functionalities released with TRUST version 1.9.7! See more details in the RELEASE_NOTES and DEVELOPER_NOTES file located at the root of TRUST code.

We highlight notably the addition of a new -and very efficient on VEF computations- AMG wrapper that can be used for pressure solver (syntax: solveur_pression AMG GCP { atol|rtol val }), a complete redesign of the TU file and the associated counters, a reduced memory footprint and a lot of GPU developpements.

Physics and Numerics

  • Robin Boundary Condition: Added a Robin Boundary condition available for Navier-Stokes equation in VEF discretization.

  • Field Values Extraction: Added getOutputPointValues method to get field values at given point(s) in space. Currently only for sequential calculations. Also available in ICoCo for ProblemTrio.

  • PolyMAC Convection Operator: New formulation for the PolyMAC convection operator and correction of the expression for unstructured meshes.

  • PolyMAC Stability Time-step: Stability time-step computation is now evaluated correctly for the convective operator of PolyMAC.

  • Implicit Scheme in VEF on GPU: First implicit scheme (Implicite) in VEF available on GPU (with muscl/ef_stab/upwind schemes and diffusive term).

  • Diffusion Time Step: When diffusion is implicited on a flow with null velocity initial condition, first time step is based on diffusive time step and not on dt_max.

  • AMG Solver Enhancement: AMG wrapper solver detects block-structure matrix in VEF, which dramatically improves convergence, especially on meshes with high amplitude for cell volumes.

Code Input / Outputs

  • Checkpoint/Restart with Different Partition: Checkpoint/restart mechanism for different partition (.xyz format) disabled by default. Add “EcritureLectureSpecial 1” into datafile to enable it.

  • Performance Counters API Change: Counters printed in the .TU files and their API have changed. Details regarding those changes can be found in the TRUST online documentation or in the validation form located in $TRUST_ROOT/Validation/Rapports_automatiques/Verification/HowTo/Post_treatment_performance/.

  • 32-bit Indices Removed: TRUST (and its baltiks) cannot be built with ‘-with-32-bit-indices’. Default and unique mode is with 64b support!

  • MEDCoupling and MED Upgrade: Upgraded MEDCoupling to 9.15.0 and MED to 4.2.0.

  • VisIt CGNS Support: In addition to LATA and MED plugins, VisIt installed in TRUST can read CGNS format on some platforms.

  • Memory Footprint Reduction: Reduced footprint again (-40%) for VEF discretization (now ~2.5KB/tetra) during a typical calculation with algebraic multigrid solver.

  • Memory Optimization: Reduce 5-10% memory footprint when using muscl/upwind schemes in VEF 3D.

GPU Porting

  • AMG Solver Tuning: Fine tune AMG solver with AmgX for Nvidia and output more infos about GAMG preconditioner.

  • Kernel Launch Optimization: Fixed huge launch of kernels during parallel calculation which degraded performance with possible slowdown.

  • New GPU Features: Features available: periodic BC for EF_stab, Champ_fonc_fonction_txyz_morceaux, Extraire_Domaine and Extraire_Surface.

  • VEF Diffusion Kernel: Optimized the diffusion Kernel in VEF.

  • Blackwell Architecture: Blackwell architecture partially supported (B200, B100, RTX 50xx) cause needs Nvidia HPC SDK>=25.3 and Cuda 12.8. Use ./configure -cuda=cc100.

  • H200 and Grace Hopper Support: Nvidia H200 and Grace Hopper GH100 supported (see env_src/HOST_calypso-grace.sh example).

  • Turing Cards Support: Support of old Turing cards (T1000).

  • Implicit Scheme on GPU: First implicit scheme (Implicite) in VEF available on GPU (with muscl/ef_stab/upwind schemes and diffusive term).

  • Quasi-compressible Features: More Quasi-compressible features accelerated in VEF.

  • VEF Kernel Optimizations: Lot of kernel optimizations in VEF (muscl/upwind schemes, diffusion term and semi-implicit scheme).

  • cuDSS Solver: Added a new fast direct solver limited to a single Nvidia GPU: cuDSS LU|Cholesky { [algo int] [impr] }.

Prerequisites / Portability

  • CMake Requirement: cmake 3.26.0 or newer is necessary to install PETSc 3.23.2 and so TRUST.

  • PETSc Update: Updated PETSc 3.22.4 to 3.23.2 for GNU 15.x support, Cuda 12.8 support, GPU fixes.

  • Linux Support: Fedora 42 and GNU 15.x compilers supported.

Bug Fixes

  • PDI Restart: Restart with PDI must be done with the same number of MPI nodes as the checkpoint.

  • Paroi_contact VEF: Paroi_contact VEF was not working if diffusion operator is anisotropic.

  • Hybrid Meshing: Correction to homogenize the sizes of discretization tables in parallel in the case of hybrid meshing.

  • Bidim_axi Domain Boundaries: When reading a mesh from med file in bidim_axi, area of domain boundaries were not correctly computed.

  • VDF Wall Velocity: In 3D VDF, if the boundary with normal vector in x-direction is moving in y-direction, wall velocity norm was not correctly computed.

  • EF_Axi Postprocessing: Fixed lata postprocessing and lata_to_med conversion in EF_Axi discretization.

  • Mixing Length Turbulence: Turbulent viscosity computed in Mixing Length (l_melange) model in Multiphase was not correctly computed.

  • Multiphase Shear Rate: Shear rate was not correctly computed in Multiphase VDF calculation with at least two phases.

  • Extraire_plan Performance: Extraire_plan on large mesh could introduce severe slowdown every time-step.

  • KSP Divergence: Possible KSP divergence on multi-node Nvidia GPU with MPI Cuda-aware.

  • GPU Extraire_plan Slowdown: Large slowdown on GPU when Extraire_plan was used to create a 2D domain for lightweight postprocessing.

  • Multiphase SETS Crash: Crash in parallel during a Pb_multiphase simulation when elimination in SETS scheme failed.

  • Axi 1D Origin: Mandatory ModifyDomaineAxi1D (define axi 1D origin) for parallel test cases with Domaine_EF_axi.