Changes between Version 2 and Version 3 of AppPlanConfig


Ignore:
Timestamp:
Mar 14, 2012, 1:54:07 PM (12 years ago)
Author:
Christian Beer
Comment:

restructured documentation

Legend:

Unmodified
Added
Removed
Modified
  • AppPlanConfig

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