Advertisement
Guest User

program_cpp

a guest
Mar 22nd, 2016
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.01 KB | None | 0 0
  1. //program.cpp
  2.  
  3. #include <stdio.h>
  4. #include <CL/cl.h>
  5.  
  6. void ErrStop(int err, char str[])
  7. {
  8.     printf("Err %i: %s\n", err, str);
  9.     exit(1);
  10. }
  11.  
  12. int main()
  13. {
  14.     cl_platform_id *platform;
  15.     cl_device_id *device;
  16.    
  17.     int plat, dev;
  18.    
  19.     cl_uint nplat, ndev;
  20.     char pname[256], dname[256];
  21.     cl_device_type dtype;
  22.     cl_uint dab;
  23.     cl_ulong gs;
  24.    
  25.     cl_int err;
  26.    
  27.     plat = 0;
  28.     dev = 0;
  29.    
  30.     err = clGetPlatformIDs(0, NULL, &nplat);
  31.     printf(":::::::::::::::::::::::::::::::::::\n");
  32.     if (err) ErrStop(err, (char*)"clGetPlatformIDs failed!");
  33.     platform = (cl_platform_id*)calloc(nplat, sizeof(cl_platform_id));
  34.     err = clGetPlatformIDs(nplat, platform, NULL);
  35.     if (err) ErrStop(err, (char*)"clGetPlatformIDs failed!");
  36.     err = clGetPlatformInfo(platform[plat], CL_PLATFORM_NAME, sizeof(pname), pname, NULL);
  37.     if (err) ErrStop(err, (char*)"clGetPlatformInfo failed!");
  38.     printf("Platform: %s\n", pname);
  39.    
  40.     dtype = CL_DEVICE_TYPE_ALL;
  41.     err = clGetDeviceIDs(platform[plat], dtype, 0, NULL, &ndev);
  42.     if(err) ErrStop(err, (char*)"clGetDeviceIDs failed!");
  43.     device = (cl_device_id*)calloc(ndev, sizeof(cl_device_id));
  44.     err = clGetDeviceIDs(platform[plat], dtype, ndev, device, NULL);
  45.     if(err) ErrStop(err, (char*)"clGetDeviceIDs failed!");
  46.    
  47.     err = clGetDeviceInfo(device[dev], CL_DEVICE_NAME, sizeof(dname), dname, NULL);
  48.     if(err) ErrStop(err, (char*)"clGetDeviceInfo failed");
  49.     printf("CL_DEVICE_NAME: %s\n", dname);
  50.    
  51.     err = clGetDeviceInfo(device[dev], CL_DEVICE_ADDRESS_BITS, sizeof(dab), &dab, NULL);
  52.     if(err) ErrStop(err, (char*)"clGetDeviceInfo failed");
  53.     printf("CL_DEVICE_ADDRESS_BITS: %u\n", dab);
  54.    
  55.     err = clGetDeviceInfo(device[dev], CL_DEVICE_GLOBAL_MEM_SIZE, sizeof(gs), &gs, NULL);
  56.     if(err) ErrStop(err, (char*)"clGetDeviceInfo failed");
  57.     printf("CL_DEVICE_GLOBAL_MEM_SIZE: %u\n", gs);
  58.    
  59.     free(device);
  60.     free(platform);
  61.     printf(":::::::::::::::::::::::::::::::::::\n");
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement