M-Star CFD version 4.x notes

M-Star CFD version 4.0 mainly brings upgrades to our CUDA toolkit, build systems, and packages.

Version 4.0 brings major chnages including:

  • Upgrade to CUDA 12.9

  • Minimum NVidia driver support changes to 525

  • Minimum NVidia GPU compute capability changes to 6.0 - See https://developer.nvidia.com/cuda-gpus for impacted GPUs

  • Dropping OS support for RHEL/Oracle 7

  • Add OS support for RHEL/Oracle 10

  • Add support for Python versions 3.9 to 3.13 on all platforms (including Windows)

  • Upgrade our thirdparty software to latest versions

  • Upgrade to compilers and build system

  • All solver compiles will include NCCL support. NCCL libraries are now included in the distribution.

  • Dropping “solver only” builds

Operating Systems supported (x86 64bit):

  • Ubuntu 20, 22, 24

  • RHEL/Oracle Linux 8, 9, 10

  • Microsoft Windows 10+

Operating Systems supported (arm64/aarch64):

  • Ubuntu 22, 24

What is not changing:

  • The 4.0.x release line will not upgrade our CAD kernel (OpenCASCADE). This may be considered for a future release.

  • All of your .msb and solver input files built with 3.x versions will continue to work fine in 4.0.

CUDA 12.9 upgrade notes

CUDA 12.9 brings a number of changes to our builds. One impact is that some GPUs will no longer run with 4.x. Starting from M-Star CFD version 4.0, GPUs must have a compute capability 6.0 or greater. Previous M-Star 3.x versions required a compute capability of 3.5. Refer to https://developer.nvidia.com/cuda-gpus to see impacted GPUs (3.5-5.0 are being dropped).

You must upgrade your NVidia driver to 525 or later. M-Star is always compatible with the latest NVidia driver.

M-Star 4.x will now have native support for the latest Nvidia architectures (Pascal, Volta, Turing, Ampere, Ada, Hopper Blackwell). This will speed up the start-up time of the solver for most users.

CUDA 12.9 modernizes our Nvidia compiler toolset. One of the benefits of this is the upgrade to various CUDA libraries and algorithms we use. Some users may see performance improvement on certain models.

GPU Compute Capability changes to 6.0+

M-Star CFD 4.x will now require GPU compute capability 6.0 or later. Previous M-Star 3.x versions supported compute capability 3.5+. Refer to this page - https://developer.nvidia.com/cuda-legacy-gpus - to see the impacted GPUs.

Compatibility with Nvidia drivers older than 525 (Linux only)

If you are unable to update your NVidia driver on Linux to 525 or later, you may be able to use the “cuda-compat-12-9” package to get M-Star running. Refer to the instructions here to install the cuda-compat-12-9 package setup your environment - https://docs.nvidia.com/deploy/cuda-compatibility/forward-compatibility.html .

Linux Platform specific instructions

  1. On ALL platforms, install the latest NVidia driver.

  2. Follow the instructions below for your operating system

  3. Download the appropriate M-Star CFD linux package for your platform

  4. Expand M-star CFD package

  5. Source the mstar.sh script in the M-Star install folder

  6. Setup license

  7. M-Star is now setup

Note - Most users will not need to compile openmpi from source anymore; You can just use the openmpi package that your operating system provides

RHEL 8, Oracle 8

Note that you will need to add the openmpi lib path to your LD_LIBRARY_PATH

dnf -y install  \
                gtk3 \
                freetype \
                libXmu \
                mesa-libGL \
                openmpi \
                libxkbcommon-x11 libxkbcommon \
                pcre2-utf32 openmpi libglvnd-egl \
                python3.11 python3.11-pip


export LD_LIBRARY_PATH=/lib64/openmpi/lib

RHEL 9, Oracle 9

Note that you will need to add the openmpi lib path to your LD_LIBRARY_PATH

dnf -y install  \
                gtk3 \
                freetype \
                libXmu \
                mesa-libGL \
                openmpi \
                libxkbcommon-x11 libxkbcommon \
                pcre2-utf32 openmpi libglvnd-egl \
                python3.11 python3.11-pip

export LD_LIBRARY_PATH=/lib64/openmpi/lib

RHEL 10, Oracle 10

Note that you will need to add the openmpi lib path to your LD_LIBRARY_PATH

dnf -y install  \
                gtk3 \
                freetype \
                libXmu \
                mesa-libGL \
                openmpi \
                libxcrypt-compat \
                libxkbcommon-x11 libxkbcommon \
                pcre2-utf32 openmpi libglvnd-egl \
                python3.12 python3.12-pip

export LD_LIBRARY_PATH=/lib64/openmpi/lib

Ubuntu 20

apt-get install -y \
    libgtk-3-0 \
    libxmu6 \
    wget  \
    libfreetype6 \
    software-properties-common \
    openmpi-bin \
    libxkbcommon0 \
    libxkbcommon-x11-0 \
    libgl1 \
    python3.9 python3.9-venv

Ubuntu 22

apt-get install -y \
    libgtk-3-0 \
    libxmu6 \
    wget  \
    libfreetype6 \
    software-properties-common \
    openmpi-bin \
    libxkbcommon0 \
    libxkbcommon-x11-0 \
    libgl1 \
    python3 python3-venv

Ubuntu 24

apt-get install -y \
   libgtk-3-0 \
   libxmu6 \
   wget  \
   libfreetype6 \
   software-properties-common \
   openmpi-bin \
   libxkbcommon0 \
   libxkbcommon-x11-0 \
   libgl1 \
   python3 python3-venv