2 Replies Latest reply on Oct 7, 2010 5:27 PM by rolandman99

    OpenCL query device results



      I just bought ATI Radeon HD 4600 series also HD 5670. I tried to get the information from my program (I use the 4600), the result is shown below:

      Device name: ATI RV730
      Device vendor: Advanced Micro Devices, Inc.
      Device profile: FULL_PROFILE
      Device version: OpenCL 1.0 ATI-Stream-v2.2 (302)
      Driver version: CAL 1.4.815
      Max clock frequency (MHz): 750
      Global memory size (MB): 256
      Maximum size of memory object allocation (MB): 128
      Global memory cache size (MB): 0
      Local memory size (KB): 16
      Max Work Group size = 128
      Max Work Item dimensions = 3
      Max Work Item sizes = 003BBD48
      Number of parallel compute cores = 8
      Endianess = LITTLE ENDIAN

      The question: I doubt about the correctness of the "Max Work Item size" information. I think I did some mistake in the code.

      Here is the part of my code:


      status = clGetDeviceInfo(devices[0], CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS, sizeof(cl_uint), (void *)&maxWorkItemDimensions, NULL);
          cout <<"\tMax Work Item Dimensions = " << maxWorkItemDimensions << endl;

          maxWorkItemSizes = (size_t *)malloc(maxWorkItemDimensions * sizeof(size_t));
          status = clGetDeviceInfo(devices[0], CL_DEVICE_MAX_WORK_ITEM_SIZES, sizeof(size_t)*maxWorkItemDimensions,(void *)maxWorkItemSizes, NULL);
          cout << "\tMax Work Item Sizes = " << maxWorkItemSizes << endl;


      Can someone point out my mistake?

      I also try to query using CL_DEVICE_LOCAL_MEM_TYPE, but it can not found a "CL_LOCAL" type? Is this correct?

      Thank you very much