Runtime Configuration#

Runtime configuration keys live at the root of the config file. JaQMC applies them before the workflow starts, so they are shared by molecule, solid, and Hall commands instead of belonging to one system reference page.

Use these keys for startup behavior: logging, JAX global flags, and optional JAX distributed initialization. For workflow, system, optimizer, sampler, and writer keys, use the command-specific configuration references under each system page.

Logging (logging.*)#

logging.level

Default: 'info' · Type: Literal[debug, info, warning, error, critical]

Minimum log level to emit.


logging.stream

Default: 'stderr' · Type: Literal[stdout, stderr]

Output stream for log messages.

JAX runtime (jax.*)#

jax.enable_x64

Default: False · Type: bool

Enable 64-bit types to be used.


jax.debug_infs

Default: False · Type: bool

Add inf checks to every operation.


jax.debug_nans

Default: False · Type: bool

Add nan checks to every operation.


jax.disable_jit

Default: False · Type: bool

Disable JIT compilation and just call original Python.


jax.default_matmul_precision

Default: 'float32' · Type: str

Control the default matmul precision for 32bit inputs.

Distributed runtime (distributed.*)#

Use distributed.* only for multi-host runs. For launch examples and cluster setup notes, see Multi-Device.

distributed.coordinator_address

Default: None · Type: str | None

IP address and port of the coordinator process (for example 192.168.1.10:1234).


distributed.num_processes

Default: 1 · Type: int

Total number of processes in the distributed run.


distributed.process_id

Default: 0 · Type: int

ID of the current process (0 to num_processes - 1).


distributed.initialization_timeout

Default: 300 · Type: int

Timeout in seconds for distributed runtime initialization.


distributed.wait_second_before_connect

Default: 10.0 · Type: float

Seconds to wait before non-master processes connect to the coordinator.