= 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