MPS v3 Configuration File#
MPS v3 can load its full startup configuration from a TOML file with -a/--apply:
nvidia-cuda-mps-control -d -p 3 -a /path/to/config.toml
Configuration is applied once at startup; there is currently no persistence of subsequent CLI changes back to disk, so servers, namespaces, and partitions created after startup only exist for the lifetime of the daemon unless they are also added to the configuration file.
schema_version = "1.0"
[servers.training]
allowed_devices = "GPU-abcd-1234,GPU-efgh-5678"
pinned_memory_limit = "10G"
active_thread_percentage = "50"
client_priority = "0"
uid = 1000
locality_domains = false
[servers.training.namespaces.high_priority]
pinned_memory_limit = "5G"
active_thread_percentage = "25"
[[servers.training.devices]]
uuid = "GPU-74d43ed3-cdf7-e667-3644-bf5b4f46ed65"
[[servers.training.devices.sm_partitions]]
name = "large"
chunks = 4
include_remainder = false
[features.memacct]
enabled = true
audit_log = true
[features.context-share]
enabled = true
default_socket = "on"
[servers.<name>]acceptsallowed_devices,pinned_memory_limit,active_thread_percentage,client_priority,uid, andlocality_domains(boolean only). Any other key is a configuration error.[servers.<name>.namespaces.<name>]accepts onlypinned_memory_limit,active_thread_percentage, andclient_priority. A namespace nameddefaultrefers to the server’s built-in default namespace rather than creating a new one. Refer to MPS v3 Namespaces for the equivalent CLI commands.[[servers.<name>.devices]]requiresuuidand optionally nests[[servers.<name>.devices.sm_partitions]]entries, each requiringnameandchunks, with optionalinclude_remainder(defaultfalse).[features.<name>]tables are read per-feature; see the Features section in MPS v3 Interface for the keys each feature accepts.TOML keys use underscores; the equivalent CLI flags use dashes (for example,
pinned_memory_limitin the file corresponds to--pinned-memory-limiton the command line).