Opened 14 years ago
Closed 14 years ago
#1158 closed Defect (fixed)
opencl_ati_101 plan class does not work
| Reported by: | tstrunk | Owned by: | davea |
|---|---|---|---|
| Priority: | Undetermined | Milestone: | Undetermined |
| Component: | Server - Scheduler | Version: | 6.13.12 |
| Keywords: | OpenCL, ATI | Cc: |
Description
Specifying the opencl_ati_101 plan class does not work. It's easy to see in sched_customize.cpp, line 580
This is the app_plan function:
if (!strcmp(plan_class, "mt")) {
return app_plan_mt(sreq, hu);
} else if (strstr(plan_class, "ati")) {
return app_plan_ati(sreq, plan_class, hu);
} else if (strstr(plan_class, "cuda")) {
return app_plan_cuda(sreq, plan_class, hu);
} else if (!strcmp(plan_class, "nci")) {
return app_plan_nci(sreq, hu);
} else if (!strcmp(plan_class, "sse3")) {
return app_plan_sse3(sreq, hu);
} else if (!strcmp(plan_class, "vbox32")) {
return app_plan_vbox(sreq, hu, false);
} else if (!strcmp(plan_class, "vbox64")) {
return app_plan_vbox(sreq, hu, true);
} else if (strstr(plan_class, "opencl")) {
return app_plan_opencl(sreq, plan_class, hu);
}
In case of a plan class opencl_ati_101 the code returns app_plan_ati instead of traversing to app_plan_opencl, because of a substring comparison for ati.
The fix or rather workaround for this is easy: One just needs to make the opencl check before the ati one.
Thanks and bye!

(In [24716]) - scheduler: in app_plan(), check for "opencl" before "ati".