/opencl/oclfft

To get this branch, use:
bzr branch http://suren.me/webbzr/opencl/oclfft

« back to all changes in this revision

Viewing changes to fft_setup.cpp

  • Committer: Suren A. Chilingaryan
  • Date: 2013-01-17 20:51:27 UTC
  • Revision ID: csa@dside.dyndns.org-20130117205127-3ai3y43u4wj7lfcu
Merge mv fix for multigpu contexts on AMD platform

Show diffs side-by-side

added added

removed removed

Lines of Context:
295
295
        ERR_MACRO(err);
296
296
        
297
297
        num_devices = ret_size / sizeof(cl_device_id);
298
 
        
299
 
        for(i = 0; i < num_devices; i++)
300
 
        {
301
 
//              err = clGetDeviceInfo(devices[i], CL_DEVICE_TYPE, sizeof(device_type), &device_type, NULL);
302
 
//              ERR_MACRO(err);
303
 
                
304
 
//              if(device_type == CL_DEVICE_TYPE_GPU)
305
 
//              {       
306
 
                        gpu_found = 1;
307
 
                err = clBuildProgram(plan->program, 1, &devices[i], "-cl-mad-enable", NULL, NULL);
308
 
                if (err != CL_SUCCESS)
309
 
                {
310
 
                        char *build_log;                                
311
 
                                char devicename[200];
312
 
                        size_t log_size;
313
 
                                
314
 
                        err = clGetProgramBuildInfo(plan->program, devices[i], CL_PROGRAM_BUILD_LOG, 0, NULL, &log_size);
315
 
                                ERR_MACRO(err);
316
 
                                
317
 
                        build_log = (char *) malloc(log_size + 1);
318
 
                                
319
 
                            err = clGetProgramBuildInfo(plan->program, devices[i], CL_PROGRAM_BUILD_LOG, log_size, build_log, NULL);
320
 
                                ERR_MACRO(err);
321
 
                                
322
 
                                err = clGetDeviceInfo(devices[i], CL_DEVICE_NAME, sizeof(devicename), devicename, NULL);
323
 
                                ERR_MACRO(err);
324
 
                                
325
 
                                fprintf(stdout, "FFT program build log on device %s\n", devicename);
326
 
                        fprintf(stdout, "%s\n", build_log);
327
 
                        free(build_log);
328
 
                                
329
 
                                ERR_MACRO(err);
330
 
                }       
331
 
//              }       
332
 
        }
333
 
        
334
 
        if(!gpu_found)
335
 
                ERR_MACRO(CL_INVALID_CONTEXT);
 
298
 
 
299
        err = clBuildProgram(plan->program, num_devices, devices, "-cl-mad-enable", NULL, NULL);
 
300
        if (err != CL_SUCCESS) 
 
301
        {
 
302
            char *build_log;                            
 
303
            char devicename[200];
 
304
            size_t log_size;
 
305
 
 
306
            err = clGetProgramBuildInfo(plan->program, devices[i], CL_PROGRAM_BUILD_LOG, 0, NULL, &log_size);
 
307
            ERR_MACRO(err);
 
308
 
 
309
            build_log = (char *) malloc(log_size + 1);
 
310
 
 
311
            err = clGetProgramBuildInfo(plan->program, devices[i], CL_PROGRAM_BUILD_LOG, log_size, build_log, NULL);
 
312
            ERR_MACRO(err);
 
313
 
 
314
            err = clGetDeviceInfo(devices[i], CL_DEVICE_NAME, sizeof(devicename), devicename, NULL);
 
315
            ERR_MACRO(err);
 
316
 
 
317
            fprintf(stdout, "FFT program build log on device %s\n", devicename);
 
318
            fprintf(stdout, "%s\n", build_log);
 
319
            free(build_log);
 
320
 
 
321
            ERR_MACRO(err);
 
322
        }
336
323
        
337
324
        err = createKernelList(plan); 
338
325
    ERR_MACRO(err);