gpuallocator(1)             General Commands Manual            gpuallocator(1)



NAME
       gpuallocator

SYNOPSIS
       gpuallocator   options

DESCRIPTION
       Gpuallocator keeps track of a set of GPUs available for a collection of
       related processes and assigns free GPUs to processes upon request.
       Calling processes identify themselves by their machine name and process
       ID.  They request GPUs by sending the full list of ones available and a
       maximum number that are desired.  If there are any free, this program
       adds information to its usage file and outputs a line for each allo-
       cated GPU: either a machine name by itelf or a name followed by a colon
       and a specific GPU number.  As few as one GPU may be allocated.  If
       there are none free, the program outputs the line
          No GPUs were free [GPA1]
       When a process is done with the operation needing the GPUs, it should
       run this program again with no GPU list or maximum number, and the
       allocation will be removed from the usage file.  On any run of the pro-
       gram, it will first remove any existing allocations to the calling
       process, check that each other process assigned to is still running,
       and remove any allocations to processes no longer running.

       Simultaneous access to the usage file is prevented by using a lock
       file, where the lock on the file can be obtained by only one instance
       of this program at a time.

OPTIONS
       Gpuallocator uses the PIP package for input (see the manual page for
       pip).  Options can be specified either as command line arguments
       (with the -) or one per line in a command file (without the -).
       Options can be abbreviated to unique letters; the currently valid
       abbreviations for short names are shown in parentheses.

       -rootname (-r) OR -RootNameForProcesses       Text string
              Root name common to the processes; i.e., all processes should
              pass this same name.  This entry is required.

       -pid (-p) OR -ProcessID   Integer
              Process ID of the calling process.  This entry is required.

       -controller (-con) OR -ControllingMachine     Text string
              Name of machine with process requesting use.  This should be the
              first component of the full hostname (i.e., with with domain
              name omitted).  This entry is required.

       -fulllist (-f) OR -FullListOfGPUs   Text string
              Full list of machines and GPUs available, in the same format as
              is given to the -G option to Processchunk(1), for example,
              host:1:2,host2,host3:2.  If this option is entered, -maxgpu must
              be entered also.

       -maxgpu (-m) OR -MaximumGPUsToAssign     Integer
              Maximum number of GPUs to allocate for this request.  If this
              option is entered, -fullist must be entered also.

       -common (-com) OR -CommonDirectory       Text string
              Directory in which the usage list will be kept.  All calling
              processes should provide the same entry if any do.  The default
              is the current directory.

       -verbose (-v) OR -VerboseOutput
              Give diagnostic output about allocations and removals.  This
              option cannot be used unless the calling program can distinguish
              this output from allocated

       -help (-h) OR -usage
              Print help output

       -StandardInput
              Read parameter entries from standard input


FILES
       The allocator creates two files with the root name followed by ".gpu-
       Use" and ".gpuUse.lock" in either the directory where it is run or the
       directory given by the -common option.

AUTHOR
       David Mastronarde

SEE ALSO
       splitbatch(1)

BUGS
       Email bug reports to mast at colorado dot edu.



IMOD                                4.12.62                    gpuallocator(1)