Changes between Initial Version and Version 1 of AppPlanConfig


Ignore:
Timestamp:
Mar 14, 2012, 11:39:05 AM (12 years ago)
Author:
davea
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AppPlanConfig

    v1 v1  
     1= Configurable app plan functions =
     2
     3{{{
     4Possible tags:
     5
     6  <name>                Name of the plan class, string without spaces, exact match
     7  <type>                type of the plan class, currently understood are 0 = CPU and 1 = CUDA
     8                        2 = ATI is suggested, but not supported in current code.
     9                        May be specified numerically (0, 1, 2) or as token (CPU, CUDA, ATI)
     10                        3 = NVidia OpenCL, 4 = ATI OpenCL.
     11
     12  <min_cuda_compcap>    CUDA only: minimum compute capability
     13  <max_cuda_compcap>    CUDA only: maximum compute capability, set to 9999 to exclude emulation device
     14  <min_cuda_version>    CUDA only: minimum CUDA version
     15  <max_cuda_version>    CUDA only: maximum CUDA version
     16  <min_opencl_version>  OpenCL only: minimum required device version
     17        IMPORTANT NOTE: the NVidia display driver version is only reported by Windows
     18                        core clients. Mac and Linux clients only report the CUDA version. The display
     19                        driver version will allways be 0 (zero) for these clients, hence this should
     20                        NEVER be used to restrict a plan class for platforms other than Windows!
     21                NOTE#2: Reporting driver version has been added to recent Mac Clients (6.13.x)
     22                NOTE#3: the driver_version may be specified negative. In this case its _absolute_
     23                        value is compared to the client's driver version, but only if this is reported.
     24                        If the Client doesn't report a driver version, this check is skipped.
     25  <min_driver_version>  GPU only: minimum display driver version
     26  <max_driver_version>  GPU only: minimum display driver version
     27  <min_gpu_ram_mb>      GPU only: minimum required amount of video RAM (in MB)
     28  <gpu_ram_used_mb>     GPU only: video RAM a task will actually use (in MB)
     29
     30  <project_prefs_tag>   name of a tag from the project specific preferences that can be used to enable
     31                        or disable this plan-class (scanned as double, 0.0 if not present)
     32  <project_prefs_min>   min value this tag can have to allow this plan-class
     33  <project_prefs_max>   max value this tag can have to allow this plan-class
     34  <gpu_utilization_tag> name of a tag from the project specific preferences which values is a custom
     35                        gpu utilization factor supplied by the user. The 'ngpus' setting of the plan class
     36                        will be multiplied by this when present.
     37  <cpu_feature>         CPU features required for this plan class. Multiple tags allowed. All features
     38                        lowercase (e.g. sse2, altivec). Both host.p_features and host.p_model are checked
     39
     40  <min_macos_version>   Deprecated: min Darwin version required for this plan class, 0 = no check,
     41                        numeric: 1000 * major version + 100 * minor version + patchlevel
     42  <max_macos_version>   Deprecated: max Darwin version allowed for this plan class, 0 = no limit
     43
     44  <os_version>          regexp specifying an OS version (should work for all OS that way)
     45
     46  <speedup>             speedup over standard "sequential" App for this platform
     47  <peak_flops_factor>   correct the (theoretical) peak flops by that factor (assumed efficency)
     48  <avg_ncpus>
     49  <max_ncpus>
     50  <ngpus>               GPU only: number / fraction of GPUs used, defaults 0 for CPU plan classes, 1 otherwise
     51                        if ngpus < 0, set ncudas by the fraction of the total video RAM a tasks would take
     52  <gpu_flops>
     53  <cpu_flops>           GPU only: if both gpu_flops and cpu_flops are set, compuute
     54                        hu.avg_ncpus = avg_ncpus * sreq.host.p_fpops / cpu_flops and
     55                        projected_flops = cp.peak_flops / gpu_flops * speedup + 1.0 / hu.avg_ncpus;
     56
     57Here is an example of three plan class specifications, two CPU, one CUDA.
     58
     59<plan_classes>
     60
     61  <plan_class>
     62    <name>                CUDA32          </name>
     63    <min_cuda_compcap>    100             </min_cuda_compcap>
     64    <max_cuda_compcap>    9999            </max_cuda_compcap>
     65    <min_cuda_version>    3020            </min_cuda_version>
     66    <min_driver_version>  26000           </min_driver_version>
     67    <max_driver_version>  99999           </max_driver_version>
     68    <min_gpu_ram_mb>      300             </min_gpu_ram_mb>
     69    <gpu_ram_used_mb>     300             </gpu_ram_used_mb>
     70    <speedup>             10.0            </speedup>
     71    <avgncpus>            0.2             </avgncpus>
     72  </plan_class>
     73
     74  <plan_class>
     75    <name>                BRP3SSE         </name>
     76    <cpu_feature>         sse             </cpu_feature>
     77    <project_prefs_tag>   also_run_cpu    </project_prefs_tag>
     78    <project_prefs_max>   0               </project_prefs_max>
     79  </plan_class>
     80
     81  <plan_class>
     82    <name>                ALTIVEC         </name>
     83    <cpu_feature>         altivec         </cpu_feature>
     84    <min_macos_version>   80000           </min_macos_version>
     85    <speedup>             1.4             </speedup>
     86  </plan_class>
     87
     88</plan_classes>
     89}}}