.\" Automatically generated by Pod::Man 4.10 (Pod::Simple 3.35) .\" .\" 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 .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . 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 .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "oar_resources_add 1" .TH oar_resources_add 1 "2019-10-17" "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 \s-1OAR\s0 resources following the host / cpu / core (/ thread) hierarchy, possibly with \s-1GPU\s0 alongside. .PP \&\s-1REMINDER:\s0 Each physical element (each cpu, each core, each thread, each gpu) must have a unique identifier in the \s-1OAR\s0 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 \s-1OAR\s0 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 \&\s-1WARNING,\s0 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: \*(L"node\-\*(R"). .IP "\fB\-\-host\-suffix\fR " 4 .IX Item "--host-suffix " Hostname suffix (e.g. \*(L".domain\*(R"). .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 \s-1CPU\s0 ids (as used in cpuset.cpus). .Sp Or, given the \s-1RR\s0 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 \s-1GPU\s0 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 \s-1OAR\s0 database (unless host0/cpu0/core0/thread0/gpu0 is set). .Sp \&\s-1WARNING:\s0 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 \s-1YAML\s0 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 \s-1GPU\s0 device affinity to \s-1CPU\s0 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