.. _environment_variables: zCFD Environment Variables -------------------------- The following table gives some of the environment variables that can be set before running zCFD. These are generally for advanced users can can impact the way zCFD runs on you system. .. list-table:: :widths: 20 20 70 :header-rows: 1 * - Variable - Default - Description * - ZCFD_GPUDIRECT - unset - Set if you are using NVIDIA GPU direct (custom builds only) with a CUDA aware mpi implementation. * - ZCFD_PRE_LAUNCH - unset - This option allows a script to be run just before the code is launched so that the user can override any environment that has been automatically setup. * - CUDA_VISIBLE_DEVICES - unset - This option restricts the list of GPU devices that zCFD will be able to use. Typically this can be used to remove an incompatible GPU or the display GPU from the list of candidate GPUs. * - ZCFD_DISABLE_PINNED - unset - When set this causes the GPU memory allocated to be page-able and not pinned memory. This should always be used on Windows in WSL as CUDA inside WSL has a fixed low threshold for the maximum amount of allowed pinned memory. * - ZCFD_NCCL - unset - Set to 1 to make use of the NVIDIA NCCL library during parallel exchanges. * - PMPI_CUDA - unset - Set if you are running with platform MPI (custom builds only) to enable GPU aware MPI memory allocations * - MPICH_GPU_SUPPORT_ENABLED - unset - Set to 1 if you are running with Cray MPI (custom builds only) to enable GPU aware MPI memory allocations * - ZCFD_DISPATCH_SYNC - unset - Makes all kernel launches synchronous.