= Configurable app plan functions = {{{ Possible tags: Name of the plan class, string without spaces, exact match type of the plan class, currently understood are 0 = CPU and 1 = CUDA 2 = ATI is suggested, but not supported in current code. May be specified numerically (0, 1, 2) or as token (CPU, CUDA, ATI) 3 = NVidia OpenCL, 4 = ATI OpenCL. CUDA only: minimum compute capability CUDA only: maximum compute capability, set to 9999 to exclude emulation device CUDA only: minimum CUDA version CUDA only: maximum CUDA version OpenCL only: minimum required device version 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! NOTE#2: Reporting driver version has been added to recent Mac Clients (6.13.x) 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. GPU only: minimum display driver version GPU only: minimum display driver version GPU only: minimum required amount of video RAM (in MB) GPU only: video RAM a task will actually use (in MB) name 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) min value this tag can have to allow this plan-class max value this tag can have to allow this plan-class name 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. CPU 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 Deprecated: min Darwin version required for this plan class, 0 = no check, numeric: 1000 * major version + 100 * minor version + patchlevel Deprecated: max Darwin version allowed for this plan class, 0 = no limit regexp specifying an OS version (should work for all OS that way) speedup over standard "sequential" App for this platform correct the (theoretical) peak flops by that factor (assumed efficency) GPU 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 GPU only: if both gpu_flops and cpu_flops are set, compuute 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; Here is an example of three plan class specifications, two CPU, one CUDA. CUDA32 100 9999 3020 26000 99999 300 300 10.0 0.2 BRP3SSE sse also_run_cpu 0 ALTIVEC altivec 80000 1.4 }}}