.. _file_omp_config.h: 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 :ref:`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 ----- - :ref:`exhale_enum_omp__config_8h_1a6e1317dc6d16d431d2e7e60cb5d46c43` Functions --------- - :ref:`exhale_function_omp__config_8h_1ae859958bcfad1999f5f7f1f411a41e8d` - :ref:`exhale_function_omp__config_8h_1a44098d63f71256458199814d5d00591c` - :ref:`exhale_function_omp__config_8h_1a25fe25eed2965afeff2760de9fcd960a` - :ref:`exhale_function_omp__config_8h_1a09d33bba2c23eebc49decd9887d6bf73` - :ref:`exhale_function_omp__config_8h_1ad29d1925d4d5d032c317497eef0224d4` - :ref:`exhale_function_omp__config_8h_1a84e35f14fe6cb1b6648be757446483e2` - :ref:`exhale_function_omp__config_8h_1ab628587850957d925be0c2157f5f6823` - :ref:`exhale_function_omp__config_8h_1aba06990768c6b572ca3f69029334a9df` - :ref:`exhale_function_omp__config_8h_1a26c2db9c501cff462039397e97ee2c79` - :ref:`exhale_function_omp__config_8h_1a788c9ec7a83cbc18b622415e3afc053b` - :ref:`exhale_function_omp__config_8h_1a702d97e16bf9d38dd41da12e3eb4d2a0` - :ref:`exhale_function_omp__config_8h_1af6b653d84a4adae9e00596c5e8a5432f`