= Specifying plan classes =
You can specify plan classes using an XML configuration file with the format
{{{
... specification of a plan class
... more plan class specifications
}}}
The specification of a plan class has the following format.
All elements except '''''' are optional.
X :: the name of the plan class
:: VirtualBox application
:: 64-bit application
x :: requires at least X CPUs (may be fractional)
x:: use at most this many CPUs
x:: average # CPUs used. Use for non-compute-intensive apps;
for others it's calculated for you.
x:: in estimating this app's FLOPS on a given host,
multiply peak device speeds by this (0 < x <= 1). For GPU apps, use 0.2 or so
regex:: use only hosts whose operating system name matches the given regular expression
x :: a required CPU feature (such as sse3). You can include more than one.
The following lets you use a project preference to decide whether to use the app version:
x:: the name of the tag
x:: the contents must match this regular expression
Fields for GPU apps:
X:: the GPU type (nvidia, amd, or intel)
x:: the fraction of total FLOPs that are done by the CPU.
This is used to calculate CPU usage and estimated FLOPS.
x:: The minimum amount of GPU RAM.
This is needed because older clients report total RAM
but not available RAM.
x:: require this much available GPU RAM
x:: scale GPU peak speed by this
x:: how many GPUs will be used
x:: minimum display driver version
x:: maximum display driver version
:: CUDA application (NVIDIA)
:: CAL application (AMD)
:: OpenCL application
x:: you can use a project-specific preferences to let users
scale the # of GPUs used.
This is the tag name.
Fields for NVIDIA GPU apps:
x:: minimum compute capability
x:: maximum compute capability
Fields for CUDA apps
x:: minimum CUDA version
x:: maximum CUDA version
Fields for OpenCL apps
x:: minimum OpenCL version
x:: maximum OpenCL version
Fields for VirtualBox apps
x:: minimum VirtualBox version
x:: maximum VirtualBox version