| 71 | | == Defining a custom plan class == |
| 72 | | |
| 73 | | If your application has properties that differ from any of the pre-defined classes, |
| 74 | | you can modify them, or better yet define your own. |
| 75 | | |
| 76 | | To define a new NVIDIA/CUDA plan class, add a new clause |
| 77 | | to '''app_plan_cuda()''' in sched/sched_customize.cpp. |
| 78 | | For example, the plan class '''cuda23''' is defined by: |
| 79 | | |
| 80 | | {{{ |
| 81 | | ... |
| 82 | | if (!strcmp(plan_class, "cuda23")) { |
| 83 | | if (!cuda_check(c, hu, |
| 84 | | 100, // minimum compute capability (1.0) |
| 85 | | 200, // max compute capability (2.0) |
| 86 | | 2030, // min CUDA version (2.3) |
| 87 | | 19500, // min display driver version (195.00) |
| 88 | | 384*MEGA, // min video RAM |
| 89 | | 1., // # of GPUs used (may be fractional, or an integer > 1) |
| 90 | | .01, // fraction of FLOPS done by the CPU |
| 91 | | .21 // estimated GPU efficiency (actual/peak FLOPS) |
| 92 | | )) { |
| 93 | | return false; |
| 94 | | } |
| 95 | | } |
| 96 | | }}} |
| 97 | | |
| 98 | | To define a new ATI/CAL plan class, add a new clause |
| 99 | | to '''app_plan_ati()'''. |
| 100 | | For example: |
| 101 | | {{{ |
| 102 | | if (!strcmp(plan_class, "ati14")) { |
| 103 | | if (!ati_check(c, hu, |
| 104 | | 1004000, // min display driver version (10.4) |
| 105 | | false, // require libraries named "ati", not "amd" |
| 106 | | 384*MEGA, // min video RAM |
| 107 | | 1., // # of GPUs used (may be fractional, or an integer > 1) |
| 108 | | .01, // fraction of FLOPS done by the CPU |
| 109 | | .21 // estimated GPU efficiency (actual/peak FLOPS) |
| 110 | | )) { |
| 111 | | return false; |
| 112 | | } |
| 113 | | } |
| 114 | | }}} |
| 115 | | |
| 116 | | To define a new OpenCL plan class, add a new clause to |
| 117 | | '''app_plan_opencl()'''. |
| 118 | | For example: |
| 119 | | |
| 120 | | {{{ |
| 121 | | if (!strcmp(plan_class, "opencl_nvidia_101")) { |
| 122 | | return opencl_check( |
| 123 | | c, hu, |
| 124 | | 101, // OpenCL version (1.1) |
| 125 | | 256*MEGA, // min video RAM |
| 126 | | 1, // # of GPUs used |
| 127 | | .1, // fraction of FLOPS done by the CPU |
| 128 | | .21 // estimated GPU efficiency (actual/peak FLOPS) |
| 129 | | ); |
| 130 | | } |
| 131 | | }}} |