knl.conf(5)

πŸ“¦
version 24.11.5 Β· 3 versions
, in debian trixie, fedora 43, fedora 44, opensuse-leap 16.0, ubuntu questing

✨ knl.conf(5) β€” the Slurm Configuration File for Intel Knights Landing ✨

hiii bestie!! you've found the manpage for knl.conf, a Slurm configuration file for the Intel Knights Landing processor. It's giving very niche, very powerful, very silicon-core. let's get into it πŸ’…


πŸŽ€ NAME πŸŽ€

knl.conf β€” Slurm configuration file for Intel Knights Landing processor.


πŸ¦‹ DESCRIPTION πŸ¦‹

okay so first thing: this is an ASCII file, and it holds all the configuration tea for Intel Knights Landing processors 🍡. and here's the little plot twist β€” its actual name may depend on the NodeFeatures plugin you've got configured in Slurm. for example, on Cray systems NodeFeatures should be configured to "knl_cray", and then its config file gets read from "knl_cray.conf" instead. the file will always live in the same directory as the slurm.conf. oh and β€” it's optional. no pressure, bestie 🫢

Parameter names are case insensitive, so do not stress about the caps. any text following a # in the configuration file is treated as a comment through the end of that line. and heads up: changes to the configuration file take effect upon restart of Slurm daemons, daemon receipt of the SIGHUP signal, or execution of the command scontrol reconfigure β€” unless otherwise noted. so like, it's not live-live until one of those happens ✨

The overall configuration parameters available include:

  • AllowMCDRAM β€” specify the MCDRAM modes which jobs are allowed to use. this may be a subset of MCDRAM modes supported by the node. if not specified, all MCDRAM modes supported by the node are available for use. the comma separated list of allowed MCDRAM modes may include any of the modes listed below.
    • cache β€” All of MCDRAM to be used as cache.
    • equal β€” MCDRAM to be used partly as cache and partly combined with primary memory.
    • flat β€” MCDRAM to be combined with primary memory into a "flat" memory space.
  • AllowNUMA β€” specify the NUMA modes which jobs are allowed to use. this may be a subset of NUMA modes supported by the node. if not specified, all NUMA modes supported by the node are available for use. the comma separated list of allowed NUMA modes may include any of the modes listed below. note that Slurm can only support homogeneous nodes (e.g. the same number of cores per NUMA node). KNL scn4 and quad modes are not homogeneous, but each NUMA mode will have either 16 or 18 cores. this will result in Slurm using the lower core count and finding a total of 256 threads rather than 272 threads and setting the node to a DOWN state. therefore it is recommended that snc4 and quad mode not be allowed at this time 😭
    • a2a β€” All to all
    • snc2 β€” Sub-NUMA cluster 2
    • snc4 β€” Sub-NUMA cluster 4
    • hemi β€” Hemisphere
    • quad β€” Quadrant
  • AllowUserBoot β€” a comma-delimited list of users allowed to modify a node's MCDRAM or NUMA state. if not specified then any user can change a node's state and reboot it. (iconic amount of trust tbh)
  • BootTime β€” estimated time to reboot a node in seconds. used as a basis for optimizing scheduling decisions. the default value is 300 seconds (5 minutes) for the "knl_generic" plugin and 2700 seconds (45 minutes) for the "knl_cray" plugin.
  • CapmcPath β€” fully qualified path to the capmc program. the default value is "/opt/cray/capmc/default/bin/capmc". this parameter is used only by the "knl_cray" plugin.
  • CapmcPollFreq β€” time interval between when the capmc program should poll for node state changes, in seconds. the default value is 45 seconds. this parameter is used only by the "knl_cray" plugin.
  • CapmcRetries β€” number of times to retry failed operations of the capmc program. default value is 4.
  • CapmcTimeout β€” time limit for the capmc program to return status information in milliseconds. the default value is 60000 milliseconds and the minimum value is 1000 milliseconds. this parameter is used by the "knl_cray" plugin, plus the capmc_suspend and capmc_resume programs used for suspending and resuming nodes.
  • CnselectPath β€” fully qualified path to the cnselect program. the default value is "/opt/cray/sdb/default/bin/cnselect". this parameter is used only by the "knl_cray" plugin.
  • DefaultMCDRAM β€” specify the default MCDRAM modes for job's which do not specify a value. this is only used when a node is booted and the job which has been allocated the node does not specify a desired MCDRAM mode. the value can include one of the possible values identified with the AllowMCDRAM configuration parameter above. the default value is "cache".
  • DefaultNUMA β€” specify the default NUMA modes for job's which do not specify a value. this is only used when a node is booted and the job which has been allocated the node does not specify a desired NUMA mode. the value can include one of the possible values identified with the AllowNUMA configuration parameter above. the default value is "a2a".
  • Force β€” if set to a non-zero value then load the node_features/generic plugin even on non-KNL nodes. used primarily for testing purposes.
  • LogFile β€” fully qualified path to a log file. the default value is SlurmctldLogFile from the slurm.conf configuration file. this is option is used only by the campc_suspend and campc_resume programs (which power down and reboot nodes in the appropriate configuration).
  • McPath β€” fully qualified path to memory controller device file directory. children of this directory with names of the form "mc#/csrow#/ue_count" (i.e. the count of unrecoverable memory errors) will be monitored for non-zero values. if such errors are detected, the node will be set to a DOWN state and the slurmd daemon will shutdown. the default value is "/sys/devices/system/edac/mc". see also UmeCheckInterval.
  • NumaCpuBind β€” contains pairs of NUMA modes and the CpuBind mode to set a node to for that mode. any compute node found with or set to the specified NUMA mode will have that node's CpuBind field set to the configured value. the NUMA node will be followed by an equal sign the desired CpuBind mode for that NUMA mode. multiple NUMA mode and CpuBind modes should be in a semicolon separated list. by default changes to a node's NUMA mode will not effect that node's CpuBind mode. see the example below πŸ‘‡
  • SyscfgPath β€” fully qualified path to Intel's syscfg program, which identifies current KNL configuration by viewing BIOS settings. if not defined, the current BIOS setting will not be available. the default value is "/usr/bin/syscfg". this parameter is used only by the "knl_generic" plugin.
  • SyscfgTimeout β€” timeout for syscfg program in milliseconds. default value is 1000 milliseconds. for Dell KNL systems, experience has shown that a higher value of 10000 milliseconds is more appropriate.
  • SystemType β€” used to distinguish the flavor of knl we are dealing with. possible options are "Dell" and "Intel". the default value is "Intel". this parameter is used only by the "knl_generic" plugin.
  • UmeCheckInterval β€” interval, in microseconds, between checks for Uncorrectable Memory Errors (UME). if such errors are detected, the node will be set to a DOWN state and the slurmd daemon will shutdown. the default value is 0 (disabled). see also McPath.
  • ValidateMode β€” if set to 1 then validate, but do not modify the node's configured MCDRAM and NUMA modes from the slurm.conf file. if the actual modes do not match configured values the node will be set to a DOWN state. every KNL nodes MCDRAM and NUMA states must both be listed in the slurm.conf file. this parameter is used only by the "knl_cray" plugin.

🌈 EXAMPLE 🌈

here's a whole vibe, bestie β€” copy-paste ready:

###################################################################
# knl_cray.conf
# Slurm configuration file for Intel Knights Landing on Cray system
###################################################################
CapmcPath=/opt/cray/capmc/default/bin/capmc
CapmcTimeout=6000
DefaultMCDRAM=flat
DefaultNUMA=a2a
NumaCpuBind=a2a=core;snc2=thread;snc4=thread
LogFile=/var/tmp/slurm_node_feature.log
SyscfgPath=/usr/sbin/syscfg

πŸ‘‘ COPYING πŸ‘‘

Copyright (C) 2015-2022 SchedMD LLC.

This file is part of Slurm, a resource management program. For details, see <https://slurm.schedmd.com/>.

Slurm is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

Slurm is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

fr fr read the license, bestie β€” it's legally binding and also kind of a slay πŸ’œ

🫢 SEE ALSO 🫢


and that's the whole thing!! this page came from the <b>Slurm Configuration File</b>, dated <b>December 2022</b>, filed under <code>knl.conf(5)</code> β€” go configure something iconic, bestie πŸ’–βœ¨πŸŒΈ

πŸ“¦ where this page comes from