runtime_config - noma/ham GitHub Wiki

Runtime Configuration

Runtime options can be either passed via command line arguments or an environment variable called HAM_OPTIONS. A second environment variable named HAM_OPTIONS_NO_SPACES, whose value will be ignored, can be set to trigger splitting arguments by underscore '_' instead of space ' ' characters. This was introduced to work around the primitive command line parsing of micloadnativex (a tool to start programs on the Intel Xeon Phi accelerator) which could not handle spaces or quotes in values.

Environment Variable Description
HAM_OPTIONS Command line options in same format as on the command line. If set, the value will be parsed instead of the actual command line.
HAM_OPTIONS_NO_SPACES Split command line options by underscore '_' instead of space ' '. See text above
# a) prepend the environment variable
HAM_OPTIONS="--ham-process-count 2 --ham-address 0" <application_binary> 

# b) export it, then execute the program
export HAM_OPTIONS="--ham-process-count 2 --ham-address 0"
<application_binary> 

# c) like (b) but with spaces replaced by underscores
export HAM_OPTIONS="--ham-process-count_2_--ham-address_0"
export HAM_OPTIONS_NO_SPACES=1
<application_binary> 

List of Options

For all but the NEC communication backend, these arguments are set for and evaluated by each process the application run (job) consists of. The column "Individual" in the table below indicates whether the value can be individual ("yes") for every process, or whether it must be the same ("no").

Option Backend Individual Description
--ham-process-count NEC, SCIF no Number of processes the job consists of, i.e. number of targets + 1 for the host process.
--ham-cpu-affinity all yes Optional: sets the CPU affinity of the process to arg (no affinity is set if omitted). NEC: only affects the host process.
--ham-address SCIF yes Sets the HAM address of the process, values between 0 and --ham-process-count - 1).
--ham-host-address NEC, SCIF no Optional: the process with this HAM address will be the host.
--ham-host-node SCIF no Optional, SCIF: Specifies the SCIF node (physical host or MIC) where the host process is spawned on (the physical host node is always 0, which is the default).
--ham-veo-ve-lib NEC no Path to the VEO VE library of the application.
--ham-veo-ve-nodes NEC no VE Nodes to be used as offload targets, comma separated list, no spaces.