Version 5 (modified by 12 years ago) (diff) | ,
---|
Specifying plan classes in XML
You can specify plan classes using an XML configuration file with the format
<plan_classes> <plan_class> ... specification of a plan class </plan_class> ... more plan class specifications </plan_classes>
Name this file plan_class_spec.xml and put it in your project's cgi-bin directory.
Examples
An example configuration file is here. This file specifies the predefined plan classes.
Specification format
The specification of a plan class has the following format. All elements except <name> are optional. In version numbers, M is major, m is minor, R is release.
- <name>X</name>
- the name of the plan class
- <virtualbox/>
- VirtualBox application
- <min_cpus>x</min_cpus>
- requires at least X CPUs (may be fractional)
- <max_threads>x</max_threads>
- use at most this many CPUs
- <avg_ncpus>x</avg_ncpus>
- average # CPUs used. Use for non-compute-intensive apps; for others it's calculated for you.
- <projected_flops_scale>x</projected_flops_scale>
- 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.
- <os_regex>regex</os_regex>
- use only hosts whose operating system name matches the given regular expression
- <cpu_feature>x</cpu_feature>
- 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:
- <project_prefs_tag>x</project_prefs_tag>
- the name of the tag
- <project_prefs_regex>x</project_prefs_regex>
- the contents must match this regular expression
Fields for GPU apps:
- <gpu_type>X</gpu_type>
- the GPU type (nvidia, amd, or intel)
- <cpu_frac>x</cpu_frac>
- the fraction of total FLOPs that are done by the CPU. This is used to calculate CPU usage and estimated FLOPS.
- <min_gpu_ram_mb>x</min_gpu_ram_mb>
- The minimum amount of GPU RAM. This is needed because older clients report total RAM but not available RAM.
- <gpu_ram_used_mb>x</gpu_ram_used_mb>
- require this much available GPU RAM
- <gpu_peak_flops_scale>x</gpu_peak_flops_scale>
- scale GPU peak speed by this (default 1).
- <ngpus>x</ngpus>
- how many GPUs will be used
- <min_driver_version>x</min_driver_version>
- minimum display driver version. AMD driver versions are represented as MMmmRRRR. NVIDIA driver versions are represented as MMMmm.
- <max_driver_version>x</max_driver_version>
- maximum display driver version
- <cuda/>
- CUDA application (NVIDIA)
- <cal/>
- CAL application (AMD)
- <opencl/>
- OpenCL application
- <gpu_utilization_tag>x</gpu_utilization_tag>
- 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:
- <min_nvidia_compcap>MMmm</min_nvidia_compcap>
- minimum compute capability
- <max_nvidia_compcap>MMmm</max_nvidia_compcap>
- maximum compute capability
Fields for CUDA apps
- <min_cuda_version>MMmmm</min_cuda_version>
- minimum CUDA version
- <max_cuda_version>MMmmm</max_cuda_version>
- maximum CUDA version
Fields for OpenCL apps
- <min_opencl_version>MMmm</min_opencl_version>
- minimum OpenCL version
- <max_opencl_version>MMmm</max_opencl_version>
- maximum OpenCL version
Fields for VirtualBox apps
- <min_vbox_version>MMmmrr</min_vbox_version>
- minimum VirtualBox version
- <max_vbox_version>MMmmrr</max_vbox_version>
- maximum VirtualBox version
- <is64bit/>
- 64-bit application