OpenCL: workaround for GPUs reported by CUDA but not by Mac OpenCL

svn path=/trunk/boinc/; revision=25110
This commit is contained in:
Charlie Fenton 2012-01-20 14:36:15 +00:00
parent fd999fc652
commit baab1dcd8b
2 changed files with 4 additions and 4 deletions

View File

@ -768,7 +768,7 @@ Charlie 20 Jan 2012
Problem: Mac OpenCL does not recognize all NVIDIA GPUs returned Problem: Mac OpenCL does not recognize all NVIDIA GPUs returned
by CUDA. Since there is no CAL for Mac, this is not an issue by CUDA. Since there is no CAL for Mac, this is not an issue
for ATI / AMD GPUs. On other platforms, the CUDA and CAL drivers for ATI / AMD GPUs. On other platforms, the CUDA and CAL drivers
also provide OpenCL suport, so we don't expect the problem there. also provide OpenCL support, so we don't expect the problem there.
Solution: I believe that CUDA and OpenCL return identical GPU Solution: I believe that CUDA and OpenCL return identical GPU
model names for the same GPU, and that both return the GPUs in the model names for the same GPU, and that both return the GPUs in the

View File

@ -18,7 +18,7 @@
// client-specific GPU code. Mostly GPU detection // client-specific GPU code. Mostly GPU detection
#define FAKENVIDIACUDA0 1 #define FAKENVIDIACUDA0 0
#define FAKE2NVIDIAOPENCLS 0 #define FAKE2NVIDIAOPENCLS 0
#define DEBUGFOROLIVER 1 #define DEBUGFOROLIVER 1
@ -1042,11 +1042,11 @@ if (j == 0) {
cc.have_cuda = true; cc.have_cuda = true;
cc.cuda_version = cuda_version; cc.cuda_version = cuda_version;
cc.device_num = j; cc.device_num = j;
cc.set_peak_flops();
cc.get_available_ram();
#if FAKENVIDIACUDA0 #if FAKENVIDIACUDA0
cc.device_num = j+1; cc.device_num = j+1;
#endif #endif
cc.set_peak_flops();
cc.get_available_ram();
nvidia_gpus.push_back(cc); nvidia_gpus.push_back(cc);
} }
if (!nvidia_gpus.size()) { if (!nvidia_gpus.size()) {