Running CONVERGE on GPUs

<< Click to Display Table of Contents >>

Navigation:  Workflow for a CONVERGE CFD Simulation >

Running CONVERGE on GPUs

Beginning with CONVERGE 6, you are able to run some cases on GPUs. Running CONVERGE on GPUs uses an N-N CPU-cores-to-GPUs configuration. This means that the maximum number of CPU cores used to run the case must be less than or equal to the number of GPUs available on that same node.

 

If you choose to run CONVERGE on GPUs, you must set inputs.in > hpc_control > gpu_solver = 1.  Refer to the CONVERGE Manual for more information about inputs.in.

 

To run CONVERGE on GPUs, you must set up the CONVERGE environment loading the appropriate Environment Module from Table 5, or run the appropriate script from Table 6 below. To run on NVIDIA GPUs, you must set up the CONVERGE environment to run with CUDA and HPC-X. Similarly, you must set up the CONVERGE environment to run with HIP and Open MPI if you plan to run on AMD GPUs.

 

Table 5: Module load commands for each MPI library. Replace <version> with the version you want to run (e.g., 6.0.0).

MPI Library

Command

CUDA_HPCX

module load <install_root>/Convergent_Science/CONVERGE_CFD/<version>/environment/x64/modulefiles/CONVERGE/CUDA_HPCX/<version>

HIP_OMPI

module load <install_root>/Convergent_Science/CONVERGE_CFD/<version>/environment/x64/modulefiles/CONVERGE/HIP_OMPI/<version>

 

Table 6: Environment setup scripts for each MPI library. Replace <version> with the version you want to run (e.g., 6.0.0).

MPI Library

Command

CUDA_HPCX

source <install_root>/Convergent_Science/CONVERGE_CFD/<version>/environment/x64/scripts/CONVERGE/CUDA_HPCX/<version>.sh

HIP_OMPI

source <install_root>/Convergent_Science/CONVERGE_CFD/<version>/environment/x64/scripts/CONVERGE/HIP_OMPI/<version>.sh

 

You are not required to use the CUDA or HIP environment setup included in the CONVERGE software installation package. You can use your own CUDA or HIP environment setup instead as long as you are using a supported environment setup of CUDA or HIP, and a supported version of the appropriate MPI library for the GPU. Note that you must use an HPC-X library for CUDA and an Open MPI library for HIP. Refer to the following sections for the compatibility restrictions for NVIDIA and AMD GPUs.

 

Running CONVERGE on NVIDIA GPUs

CONVERGE is compatible with NVIDIA GPUs with compute capability 8.0 and higher. To check the compute capacity of your GPU, refer to the NVIDIA website at https://developer.nvidia.com/cuda/gpus. The CONVERGE GPU solver for NVIDIA GPUs is compiled using the CUDA toolkit version 13.2; therefore, a driver version compatible with CUDA toolkit 13.x is required to run CONVERGE.

 

Running CONVERGE on AMD GPUs

The CONVERGE GPU solver for AMD GPUs is compiled using the ROCm toolkit 7.14.0; therefore, a driver version compatible with ROCm toolkit 7.14.0 is required to run CONVERGE. Table 7 below shows the GPU architectures compatible with CONVERGE. To check the architecture of your GPU, refer to the AMD website at https://rocm.docs.amd.com/en/latest/compatibility/compatibility-matrix.html.

 

Table 7: GPU architecures compatible with CONVERGE.

GPU class

Compatible architectures

CDNA

CDNA, CDNA2, CDNA3, CDNA4

RDNA

RDNA3, RDNA4

 

Using the Wrapper Script to Run CONVERGE

When your environment setup is complete, navigate to your Case Directory and use the appropriate command to run CONVERGE. We recommend using the converge* script that will read your environment and automatically select the correct binary to run CONVERGE based on your environment setup. For unique environment setups, refer to the following sections for example commands for each of CUDA and HIP. You must use a supported MPI version when using the binaries directly.

 

CONVERGE accepts a number of command-line options. Note that you must use the appropriate command-line option ( --license super in CONVERGE) if you have a superbase solver license.