.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "oar_resources_add 1" .TH oar_resources_add 1 2024-04-10 oar_resources_add "OAR commands" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME oar_resource_add \- Yet another helper script to define OAR resources .SH SYNOPSIS .IX Header "SYNOPSIS" \&\fBoar_resource_add\fR \-H <# of hosts> [options] .SH DESCRIPTION .IX Header "DESCRIPTION" This tool generates the oarproperty and oarnodesetting commands to create OAR resources following the host / cpu / core (/ thread) hierarchy, possibly with GPU alongside. .PP REMINDER: Each physical element (each cpu, each core, each thread, each gpu) must have a unique identifier in the OAR resources database. If some resources already exists in the database (e.g. from a previously installed cluster), offsets can be given in the command line or guessed with the auto-offset option, so that identifiers for newly created resources are unique. .PP This tool is also a good example of how one can create OAR resources using script loops and the oarnodesetting command. If it does not exactly fit your needs, feel free to read the script code and adapt it. .SH OPTIONS .IX Header "OPTIONS" .IP "\fB\-T\fR, \fB\-\-use\-threads\fR" 4 .IX Item "-T, --use-threads" Use (create) the thread property. .IP "\fB\-H\fR, \fB\-\-hosts\fR <#>" 4 .IX Item "-H, --hosts <#>" # of hosts. .IP "\fB\-C\fR, \fB\-\-cpus\fR <#>" 4 .IX Item "-C, --cpus <#>" # of cpu per host. .IP "\fB\-c\fR, \fB\-\-cores\fR <#>" 4 .IX Item "-c, --cores <#>" # of core per cpu. .IP "\fB\-t\fR, \fB\-\-threads\fR <#>" 4 .IX Item "-t, --threads <#>" # of threads per core. .IP "\fB\-g\fR, \fB\-\-gpus\fR <#>" 4 .IX Item "-g, --gpus <#>" # of gpus per host. .Sp WARNING, not all hardware configurations are supported: For multi-GPU configurations, the # of cores per cpu must be a multiple of the # of gpus per cpu. .Sp If not set, no gpu resources is handled. .IP "\fB\-\-host\-prefix\fR " 4 .IX Item "--host-prefix " Hostname prefix (default: "node\-"). .IP "\fB\-\-host\-suffix\fR " 4 .IX Item "--host-suffix " Hostname suffix (e.g. ".domain"). .IP "\fB\-\-host0\fR <#>" 4 .IX Item "--host0 <#>" First host id to use. .IP "\fB\-\-cpu0\fR <#>" 4 .IX Item "--cpu0 <#>" First cpu id to use. .IP "\fB\-\-core0\fR <#>" 4 .IX Item "--core0 <#>" First core id to use. .IP "\fB\-\-thread0\fR <#>" 4 .IX Item "--thread0 <#>" First thread id to use. .IP "\fB\-\-gpu0\fR <#>" 4 .IX Item "--gpu0 <#>" First gpu id to use. .IP "\fB\-\-cpusets\fR <#>" 4 .IX Item "--cpusets <#>" # of cpusets on host (mainly useful for development purposes when one wants to emulate more cores than systems really have). .IP "\fB\-\-cputopo\fR " 4 .IX Item "--cputopo " Provide the topology for the CPUs/cores/threads affinity (see hwloc), given a ordered list of the Linux CPU ids (as used in cpuset.cpus). .Sp Or, given the RR value, try to match a round-robin distribution of the core ids, with optionally HyperThreads as well. .IP "\fB\-\-gpudevices\fR <#>" 4 .IX Item "--gpudevices <#>" # of gpudevices on host (mainly useful for development purposes when one wants to emulate more GPUs than systems really have). .IP "\fB\-\-gputopo\fR " 4 .IX Item "--gputopo " Provide the topology for the CPUs/GPUs affinity (see hwloc), given a ordered list of the Linux GPU device ids. .IP "\fB\-A\fR, \fB\-\-append\fR " 4 .IX Item "-A, --append " Append a text string (extra properties). .IP "\fB\-o\fR, \fB\-\-write\-to\fR " 4 .IX Item "-o, --write-to " Write commands to file. .IP "\fB\-p\fR, \fB\-\-no\-create\-properties\fR" 4 .IX Item "-p, --no-create-properties" Do not generate oarproperty commands. .IP "\fB\-a\fR, \fB\-\-auto\-offset\fR" 4 .IX Item "-a, --auto-offset" Guess the next host/cpu/core/thread/gpu ids to use from the OAR database (unless host0/cpu0/core0/thread0/gpu0 is set). .Sp WARNING: properties must already exist in your database or you will get errors. .IP "\fB\-Y\fR, \fB\-\-yaml\fR" 4 .IX Item "-Y, --yaml" Generate YAML output. .IP "\fB\-h\fR, \fB\-\-help\fR" 4 .IX Item "-h, --help" Display usage. .SH WARNING .IX Header "WARNING" The oar_resource_add tool does not look at the actual hardware topology of the target machines. Core and GPU device affinity to CPU may not be correct. See the \fBhwloc\fR commands for instance to find out the correct topology and affinity, and use the \-\-cputopo and \-\-gputopo options accordingly. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fBoarnodesetting\fR\|(1), \fBoarproperty\fR\|(1), \fBoar_resources_init\fR\|(1), \fBbash\fR\|(1), \fBhwloc\fR\|(7), \fBlstopo\fR\|(1) .SH COPYRIGHTS .IX Header "COPYRIGHTS" .Vb 1 \& Copyright 2003\-2018 Laboratoire d\*(AqInformatique de Grenoble (http://www.liglab.fr). This software is licensed under the GNU General Public License Version 2 or above. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. .Ve