Machine Configuration File
A machine configuration file includes machine-specific settings used during TRITON build and execution.
TRITON’s build system searches the machine configuration file based on the MACHINE, COMPILER, and BACKEND CMake command-line arguments. If one or more of the arguments are omitted, TRITON uses default settings.
TRITON machine configuration files are located in <TRITON top directory>/cmake/machines/<MACHINE> and follow the filename syntax:
COMPILER_BACKEND.sh
Machine Configuration Variables
All machine configuration variables are derived from the CMake Command-line Arguments.
The only difference is that all machine configuration variables are prefixed with TRITON_, and their values have lower priority than the CMake command-line arguments.
For example, if TRITON_COMPILER_FLAGS in the machine configuration file is set to -O2 and the corresponding COMPILER_FLAGS in the CMake command-line arguments is set to -O3, then the final value used for C++ compilation will be -O3.
The following list shows the available machine configuration variables. See CMake Command-line Arguments for details.
TRITON_COMPILERTRITON_BACKENDTRITON_ARCHTRITON_RUN_COMMANDTRITON_COMPILERTRITON_COMPILER_FLAGSTRITON_COMPILER_FLAGS_APPENDTRITON_LINKER_FLAGSTRITON_LINKER_FLAGS_APPENDTRITON_DEBUG
Example Machine Configuration File
#!/bin/bash
export TRITON_BACKEND=SERIAL
export TRITON_COMPILER=mpic++
export TRITON_RUN_COMMAND="mpirun -n 8"
Note
use export in bash or similar in other shell to elevate a local variable to an environment variable
Using Environment Variables and Configuration Hierarchy
User can set these variables directly in environment and overrides the values specified in a machine file. For example, to specify COMPILER_FLAGS via an environment variable:
# In a shell
export TRITON_COMPILER_FLAGS="-O3"
TRITON applies configuration settings using the following priority order (from highest to lowest):
Values provided directly in CMake command-line arguments
Environment variables (e.g.,
TRITON_COMPILER_FLAGS)Machine configuration files
This hierarchy ensures that explicit user input overrides environment settings and defaults.
Creating Custom Machine Configuration File
Users may need to create their own machine configuration files if the pre-configured files do not support their system.
A TRITON machine configuration file is a shell script, where you can include any valid shell commands along with TRITON variables. See other sections of this page and the CMake Command-line Arguments for using TRITON variables.
One way to simplify creating a machine file is to copy an existing file to your system and modify it according to your needs.
Once created, you can provide the TRITON build system with the path to the machine file using the CMake command-line argument: `-DMACHINE=”/path/to/machinefile”`
If the machine file is placed in <TRITON_DIR>/cmake/machines/<MACHINE> with the filename format explained on this page, it can be used with the CMake command-line arguments MACHINE, COMPILER, and BACKEND.