File omp_config.h

OpenMP configuration, thread detection, and parallelization strategy.

Definition (omp_config.h)

Detailed Description

Romain Despoullains

Le Nhan Pham

2026

This header provides the OpenMP threading infrastructure for Namespace OpenThermo:

  • Physical CPU core detection (Linux, macOS, Windows)

  • HPC job scheduler CPU allocation detection (SLURM, PBS, SGE, LSF)

  • Thread count validation and clamping with user-friendly notifications

  • Automatic parallelization strategy selection (outer T/P scan vs inner vibrational loop) based on workload characteristics

  • OpenMP runtime configuration with nested parallelism control

All functions are header-only (inline) to avoid link-time overhead. When OpenMP is not available, stub functions are provided so the rest of the codebase compiles and runs single-threaded without #ifdef guards.

Includes

  • algorithm

  • cstdio

  • cstdlib

  • iostream

  • string

  • thread

  • vector

Enums

Functions