= 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. In version numbers, M is major, m is minor, R is release. X :: the name of the plan class :: !VirtualBox 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:: multiply projected FLOPS by this factor. Use this to favor one class over another. For example, if you have both SSE and non-SSE versions, use 1.1 and 1.0 respectively. 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 (default 1). x:: how many GPUs will be used x:: minimum display driver version. AMD driver versions are represented as MMmmRRRR. NVIDIA driver versions are represented as MMMmm. 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: MMmm:: minimum compute capability MMmm:: maximum compute capability Fields for CUDA apps MMmm:: minimum CUDA version MMmm:: maximum CUDA version Fields for OpenCL apps MMmm:: minimum OpenCL version MMmm:: maximum OpenCL version Fields for !VirtualBox apps MMmmrr:: minimum !VirtualBox version MMmmrr:: maximum !VirtualBox version :: 64-bit application