DEPRECATED - replaced by AppPlanSpec = Configurable app plan functions = This is an alternative way of defining app plan functions. It allows you to define these functions using an XML config file (project/cgi-bin/plan_class_spec.xml) with the following format: == General == {{{ XXXXX }}} Name of the plan class, string without spaces, exact match {{{ X }}} type of the plan class, May be specified numerically (0, 1, 2) or as token (CPU, CUDA, ATI)[[BR]] Currently understood: 0 = CPU and 1 = CUDA[[BR]] Suggested, but not supported in current code: 2 = ATI, 3 = NVidia OpenCL, 4 = ATI OpenCL. {{{ }}} 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 {{{ }}} 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) == CUDA only options == {{{ }}} 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 options == {{{ }}} OpenCL only: minimum required device version[[BR]] '''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]] '''NOTE 2:''' Reporting driver version has been added to recent Mac Clients (6.13.x)[[BR]] '''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 options == {{{ }}} 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) {{{ }}} 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, 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; == Deprecated options == {{{ }}} Deprecated, use instead. Min Darwin version required for this plan class, 0 = no check, numeric: 1000 * major version + 100 * minor version + patchlevel {{{ }}} Deprecated, use instead. Max Darwin version allowed for this plan class, 0 = no limit == Example file == 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 }}}