Hardware and Software Requirements

Overview of nanoFluidX hardware and software requirements.


The hardware system that is intended to run nanoFluidX must contain a CUDA-enabled GPU with support for Compute Capability 3.5 or higher.

NVIDIA Enterprise GPU’s, Tesla and Quadro series, is officially recommended as they are well established GPU cards for HPC applications and nanoFluidX has been thoroughly tested on them.
Note: Despite good performance in single precision, the Quadro card series effectively has no double precision capability, implying that a small subset of cases requiring double precision cannot be handled on these GPUs.

NVIDIA GeForce line of GPU cards are CUDA enabled. In principle these are capable of running nanoFluidX; however, Altair does not guarantee accuracy, stability and overall performance of nanoFluidX on these cards. Be aware that the current NVIDIA EULA prohibits using non-Tesla series cards as a computational resource in bundles of four GPUs or more.

The code also has dynamic load-balancing ensuring optimal hardware utilization and can run on multi-node clusters.

Hardware requirements are strongly dependent on the use case. For production level industrial cases, the following are suggested as minimum configuration. Minimum hardware requirements:
  • Number of CPU cores should at least equal the number of GPU devices. Ideally, the number of CPU cores will slightly exceed the number of available GPU devices to ensure some computational overhead for system operations, and so on.
  • Recommended RAM is to be at least equal to RAM of GPU’s combined.
  • 3TB HDD space (long-term storage) or 500GB for operational drive.
  • Common nanoFluidX output can vary from 20 to 400 GB, depending on the size of the case, desired output, and frequency of the output.
  • High speed interconnect for multi-node systems, for example, Infiniband.

Supported Platforms

nanoFluidX is available for most common Unix-based OS versions, which include GCC and GLIBC system libraries newer than 4.8.5 and 2.17, respectively. Some OS examples with library versions are listed in Table 1.

Data on library versions for GCC and GLIBC can be found here.

Table 1. Supported Operating Systems
Distribution GCC GLIBC nanoFluidX Support
RHEL 8.x 8.4.1 2.28 Yes
CentOS 8.x 8.4.1 2.28 Yes
CentOS 7.x 4.8.5 2.17 Yes
RHEL 6.x 4.3.3 2.12 No
SLES 12 SP4 4.8.5 2.22 Yes
SLES 11 SP4 4.3.4 2.11 No
Ubuntu 18.04 7.3.0 2.27 Yes
Ubuntu 16.04 5.3.1 2.23 Yes
Note: nanoFluidX is distributed with OpenMPI 4.0.6 and NVIDIA CUDA 11.1.1 libraries. A compatible NVIDIA graphics driver (version 450.80.02 or newer) must be installed on the system.