Table of Contents |
---|
...
If your job does not use the system openmpi, or does not use MPI, then any desired core binding will need to be set up with whatever mechanism the software uses. Otherwise, there will be no core binding. Again, that may not be a major issue. If your job does not work well with HT then run on a number of cores equal to half of the number of slots requested and the OS scheduler will minimize contention.
new SGE utilities
While SoGE is very similar to previous versions of SGE there are some new utilities that people may find of interest. There are manual pages for each of these.
...
or use the shortcut,
qsub -l p100=true
There some non-Boolean resources for GPU nodes that could be useful in a shared node scenario. Most of these are requestable but some are informational.
Resorce | Description | Requestable |
---|---|---|
gpu.ncuda | number of CUDA GPUs on the host | YES |
gpu.nopencl | number of OpenCL GPUs on the host | YES |
gpu.ndev | total number of GPUs on the host | YES |
gpu.cuda.N.mem_free | free memory on CUDA GPU N | YES |
gpu.cuda.N.procs | number of processes on CUDA GPU N | NO |
gpu.cuda.N.clock | maximum clock speed of CUDA GPU N (in MHz) | YES |
gpu.cuda.N.util | compute utilization of CUDA GPU N (in %) | NO |
gpu.cuda.procsum | total number of processes running on devices | NO |
gpu.cuda.dev_free | number of devices with no current processes | YES |
gpu.opencl.0.clock | maximum clock speed of OpenCL GPU N (in MHz) | YES |
gpu.opencl.0.mem | global memory of OpenCL GPU N (in MHz) | YES |
gpu.names | semi-colon-separated list of GPU model names | YES |
For example, to request a node with at least 2G of memory available on the first GPU device:
qsub -l gpu.cuda.0.mem_free=2G
If there are more than one GPU devices on a node you will need to determine which device you will use and specify it accordingly in your code.