This form can be used to create a SLURM configuration file with you controlling many of the important configuration parameters.
This is the full version of the SLURM configuration tool. This version has all the configuration options to create a SLURM configuration file. There is a simplified version of the SLURM configuration tool available at configurator.easy.html.
This tool supports SLURM version 2.6 only. Configuration files for other versions of SLURM should be built using the tool distributed with it in doc/html/configurator.html. Some parameters will be set to default values, but you can manually edit the resulting slurm.conf as desired for greater flexibility. See man slurm.conf for more details about the configuration parameters.
Note the while SLURM daemons create log files and other files as needed, it treats the lack of parent directories as a fatal error. This prevents the daemons from running if critical file systems are not mounted and will minimize the risk of cold-starting (starting without preserving jobs).
Note that this configuration file must be installed on all nodes in your cluster.
After you have filled in the fields of interest, use the "Submit" button on the bottom of the page to build the slurm.conf file. It will appear on your web browser. Save the file in text format as slurm.conf for use by SLURM.
For more information about SLURM, see http://slurm.schedmd.com/slurm.html
ControlMachine: Master Controller Hostname
ControlAddr: Master Controller Address (optional)
BackupController: Backup Controller Hostname (optional)
BackupAddr: Backup Controller Address (optional)
NodeName: Compute nodes
NodeAddr: Compute node addresses (optional)
PartitionName: Name of the one partition to be created
MaxTime: Maximum time limit of jobs in minutes or INFINITE
The following parameters describe a node's configuration. Set a value for CPUs. The other parameters are optional, but provide more control over scheduled resources:
CPUs: Count of processors on each compute node. If CPUs is omitted, it will be inferred from: Sockets, CoresPerSocket, and ThreadsPerCore.
Sockets: Number of physical processor sockets/chips on the node. If Sockets is omitted, it will be inferred from: CPUs, CoresPerSocket, and ThreadsPerCore.
CoresPerSocket: Number of cores in a single physical processor socket. The CoresPerSocket value describes physical cores, not the logical number of processors per socket.
ThreadsPerCore: Number of logical threads in a single physical core.
RealMemory: Amount of real memory. This parameter is required when specifying Memory as a consumable resource with the select/cons_res plug-in. See below under Resource Selection.
SlurmUser
WARNING: The group ID cache does not try to keep itself in sync with the system. You MUST run "scontrol reconfig" to update the cache after making any changes to system password or group databases.
SlurmctldPort
SlurmdPort
Library used for job step cryptographic signature generation. Select one value for CryptoType: Munge: LLNL's Munge (has Gnu Public License) OpenSSL: OpenSSL
Define the location of public and private keys used by SLURM's cryptographic signature generation plugin (CryptoType). These values are only used if CryptoType=OpenSSL. These files need to be generated by the SLURM administrator. Specify fully qualified pathnames.
JobCredentialPrivateKey
JobCredentialPublicCertificate
StateSaveLocation: Slurmctld state save directory Must be writable by both ControlMachine and BackupController
SlurmdSpoolDir: Slurmd state save directory
Define when a non-responding (DOWN) node is returned to service. Select one value for ReturnToService: 0: When explicitly restored to service by an administrator. 1: Automatically, when slurmd daemon registers with valid configuration
SchedulerPort: scheduler communications port (used by Wiki and Wiki2 only)
Define what node configuration (sockets, cores, memory, etc.) should be used. Using values defined in the configuration file will provide faster scheduling. Select one value for FastSchedule: 1: Use node configuration values defined in configuration file 0: Use node configuration values actually found on each node (if configured with with gang scheduling or allocation of individual processors to jobs rather than only whole node allocations, the processor count on the node should match the configured value to avoid having extra processors left idle)
Prolog/Epilog: Fully qualified path that will be executed as root on every node of a user's job before the job's tasks will be initiated there and after that job has terminated. These parameters are optional.
SrunProlog/Epilog: Fully qualified path to be executed by srun at job step initiation and termination. These parameters may be overridden by srun's --prolog and --epilog options These parameters are optional.
TaskProlog/Epilog: Fully qualified path to be executed as the user before each task begins execution and after each task terminates. These parameters are optional.
SlurmctldDebug (0 to 7)
SlurmctldLogFile (default is none, log goes to syslog)
SlurmdDebug (0 to 7)
SlurmdLogFile (default is none, log goes to syslog, string "%h" in name gets replaced with hostname)
JobCompLoc: This is the location of the text file to be written to (if JobCompType=filetst) or the script to be run (if JobCompType=script) or database name (for other values of JobCompType).
Options below are for use with a database to specify where the database is running and how to connect to it JobCompHost: Host the database is running on for Job completion JobCompPort: Port the database server is listening on for Job completion JobCompUser: User we are to use to talk to the database for Job completion JobCompPass: Password we are to use to talk to the database for Job completion
Options below are for use with a database to specify where the database is running and how to connect to it AccountingStorageHost: Host the database is running on for Job Accounting AccountingStoragePort: Port the database server is listening on for Job Accounting AccountingStorageUser: User we are to use to talk to the database for Job Accounting AccountingStoragePass: Password we are to use to talk to the database for Job Accounting. In the case of SlurmDBD, this will be an alternate socket name for use with a Munge daemon providing enterprise-wide authentication (while the default Munge socket would provide cluster-wide authentication only). AccountingStoreJobComment: Set to NO to prevent the job comment field from being saved to the database ClusterName: Name to be recorded in database for jobs from this cluster. This is important if a single database is used to record information from multiple Slurm-managed clusters.
SlurmctldPidFile
SlurmdPidFile
SlurmctldTimeout: How many seconds the backup controller waits before becoming the master controller
SlurmdTimeout: How many seconds the SLURM controller waits for the slurmd to respond to a request before considering the node DOWN
InactiveLimit: How many seconds the SLURM controller waits for srun commands to respond before considering the job or job step inactive and terminating it. A value of zero indicates unlimited wait
MinJobAge: How many seconds the SLURM controller waits after a job terminates before purging its record. A record of the job will persist in job completion and/or accounting records indefinitely, but will no longer be visible with the squeue command after puring
KillWait: How many seconds a job is given to gracefully terminate after reaching its time limit and being sent SIGTERM before sending a SIGKILLL
WaitTime: How many seconds after a job step's first task terminates before terminating all remaining tasks. A value of zero indicates unlimited wait