The output of the _condor_gpu_discovery_ tool will report =DetectedGPUs= and list the GPU id of each one. GPU ids will be CUDA<n> or OCL<n>, where <n> is an integer, and CUDA or OCL indicates whether the CUDA library or the OpenCL library is used to communicate with the device. -The =-properties= argument in the command above tells _condor_gpu_discovery_ to also list significant attributes of the device(s). These attributes will then be published in the slot ClassAds. +The =-properties= argument in the _condor_gpu_discovery_ command tells it to also list significant attributes of the device(s). These attributes will then be published in each slot ClassAd. Here is typical output of _condor_gpu_discovery_ {code} @@ -43,9 +43,9 @@ CUDARuntimeVersion=5.0 {endcode} -This output indicates that 4 GPUs were detected, all of which have the same properties. If you are using a static slot configuration, and you wish to -control how many GPUs are assigned to each slot, use the =SLOT_TYPE_<n>= configuration syntax to specify =Gpus=, the same as you would for =Cpus= or =Memory=. If you don't specify, slots default to =GPUS=auto= which will assign -GPUs proportionally to slots until there are no more GPUs to assign, then it will simply assign 0 GPUs to the remaining slots. So a machine with =NUM_CPUS=8= and =DetectedGPUs="CUDA0, CUDA1, CUDA2, CUDA3"= will assign 1 GPUs each to the first 4 slots, and no GPUs to the remaining slots. Slots with GPUs assigned with include the following attributes. +This output indicates that 4 GPUs were detected, all of which have the same properties. If using a static slot configuration, to +control how many GPUs are assigned to each slot, use the =SLOT_TYPE_<n>= configuration syntax to specify =Gpus=, the same as would be done for =Cpus= or =Memory=. If not specified, slots default to =GPUS=auto=, which will assign +GPUs proportionally to slots until there are no more GPUs to assign, and then it will assign 0 GPUs to the remaining slots. So a machine with =NUM_CPUS=8= and =DetectedGPUs="CUDA0, CUDA1, CUDA2, CUDA3"= will assign 1 GPUs each to the first 4 slots, and no GPUs to the remaining slots. Slot ClassAds with GPUs assigned will include the following attributes: {code} Cpus=1 @@ -63,18 +63,18 @@ {endcode} -If you are using a Partitionable slot, the by default the Partitionable slot will be assigned both GPUs. Dynamic slots created from this partitionable slot will be assigned GPUs when the job requests them. +With Partitionable slots, the default partitionable slot will be assigned both GPUs. Dynamic slots created from this partitionable slot will be assigned GPUs when the job requests them. {section: Job requests a GPU} -User jobs that require a GPU must specify this requirement. In a job's submit description file, it might do something as simple as +User jobs that require a GPU must specify this requirement. In a job's submit description file, the simple request is {code} Request_GPUs = 1 {endcode} -or as complex as +A more complex request, such as: {code} Request_GPUs = 2 @@ -83,7 +83,7 @@ && (CUDAGlobalMemoryMb >= 1500) {endcode} -specifying that the job requires a CUDA GPU with at least 1500 Mb of memory, the CUDA runtime version 5.5 or later, and a CUDA Capability of 3.0 or greater. +specifies that the job requires a CUDA GPU with at least 1500 Mb of memory, the CUDA runtime version 5.5 or later, and a CUDA Capability of 3.0 or greater. {section: Identify the GPU}