title: AMD OpenCL driver: 1) detects Intel CPU 2) lists same type of GPU with different OpenCL version
body: <p>My workstation configuration:</p>
  
  <ul>
  <li>Intel(R) Xeon(R) CPU E5-2609 v2 @ 2.50GHz (x2)</li>
  <li>AMD FirePro W9100 (x2)</li>
  </ul>
  
  <p>Operating system:</p>
  
  <ul>
  <li>Windows Server 2012 R2 Standard</li>
  </ul>
  
  <p>I use lwjgl's OpenCL demo (<a href="https://github.com/LWJGL/lwjgl3/blob/260b74b769890112c4d179cd2be601ad264b187b/modules/core/src/test/java/org/lwjgl/demo/opencl/CLDemo.java" rel="nofollow">link</a>) to list the platforms and devices.</p>
  
  <p><strong>Problem 1)</strong></p>
  
  <p>After installing AMD drivers on my workstation <strong>AMD Accelerated Parallel Processing</strong> platform list <strong>Intel(R) Xeon(R) CPU E5-2609 v2 @ 2.50GHz</strong> as a device. (3rd device listed for AMD platform)</p>
  
  <p>I tested the same code for both AMD and Intel OpenCL driver and Intel's own implementation was much faster for it's own hardware. (<em>no surprise there</em>)</p>
  
  <p>Anyway I don't want an Intel device to be listen under an AMD platform.</p>
  
  <p><strong>Problem 2)</strong></p>
  
  <p>My <strong>2 identical</strong> AMD FirePro W9100 (device 1 and 2 under AMD platform) is listed with <strong>different level of OpenCL support</strong>.</p>
  
  <p>What could cause this problem, and more importantly how can I make my 2nd card use the 2.0 OpenCL driver?</p>
  
  <p><strong>OpenCL demo results:</strong></p>
  
  <pre><code>NEW PLATFORM: [0x7FFE51B57B60]
      CL_PLATFORM_PROFILE = FULL_PROFILE
      CL_PLATFORM_VERSION = OpenCL 2.0 AMD-APP (1642.5)
      CL_PLATFORM_NAME = AMD Accelerated Parallel Processing
      CL_PLATFORM_VENDOR = Advanced Micro Devices, Inc.
      CL_PLATFORM_EXTENSIONS = cl_khr_icd cl_khr_d3d10_sharing cl_khr_d3d11_sharing cl_khr_dx9_media_sharing cl_amd_event_callback cl_amd_offline_devices 
      CL_PLATFORM_ICD_SUFFIX_KHR = AMD
  
  
      ** NEW DEVICE: [0x1087BD0]
      OpenCL 2.0 - Extensions: cl_amd_device_attribute_query cl_amd_fp64 cl_amd_media_ops cl_amd_media_ops2 cl_amd_popcnt cl_amd_printf cl_amd_vec3 cl_ext_atomic_counters_32 cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_depth_images cl_khr_fp64 cl_khr_gl_event cl_khr_gl_sharing cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_image2d_from_buffer cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_spir 
      CL_DEVICE_TYPE = 4
      CL_DEVICE_VENDOR_ID = 4098
      CL_DEVICE_MAX_COMPUTE_UNITS = 44
      CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS = 3
      CL_DEVICE_MAX_WORK_GROUP_SIZE = 256
      CL_DEVICE_MAX_CLOCK_FREQUENCY = 930
      CL_DEVICE_ADDRESS_BITS = 64
      CL_DEVICE_AVAILABLE = true
      CL_DEVICE_COMPILER_AVAILABLE = true
      CL_DEVICE_NAME = Hawaii
      CL_DEVICE_VENDOR = Advanced Micro Devices, Inc.
      CL_DRIVER_VERSION = 1642.5 (VM)
      CL_DEVICE_PROFILE = FULL_PROFILE
      CL_DEVICE_VERSION = OpenCL 2.0 AMD-APP (1642.5)
      CL_DEVICE_EXTENSIONS = cl_khr_fp64 cl_amd_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_gl_sharing cl_ext_atomic_counters_32 cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_media_ops2 cl_amd_popcnt cl_khr_d3d10_sharing cl_khr_d3d11_sharing cl_khr_dx9_media_sharing cl_khr_image2d_from_buffer cl_khr_spir cl_khr_subgroups cl_khr_gl_event cl_khr_depth_images 
      CL_DEVICE_OPENCL_C_VERSION = OpenCL C 2.0 
  
          Sub Buffer destructed: 17348816
          Buffer destructed (2): 16864864
          Buffer destructed (1): 16864864
  
      ** NEW DEVICE: [0x10851E0]
      OpenCL 1.2 - Extensions: cl_amd_device_attribute_query cl_amd_fp64 cl_amd_media_ops cl_amd_media_ops2 cl_amd_popcnt cl_amd_printf cl_amd_vec3 cl_ext_atomic_counters_32 cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_fp64 cl_khr_gl_event cl_khr_gl_sharing cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_image2d_from_buffer cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_spir 
      CL_DEVICE_TYPE = 4
      CL_DEVICE_VENDOR_ID = 4098
      CL_DEVICE_MAX_COMPUTE_UNITS = 44
      CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS = 3
      CL_DEVICE_MAX_WORK_GROUP_SIZE = 256
      CL_DEVICE_MAX_CLOCK_FREQUENCY = 930
      CL_DEVICE_ADDRESS_BITS = 64
      CL_DEVICE_AVAILABLE = true
      CL_DEVICE_COMPILER_AVAILABLE = true
      CL_DEVICE_NAME = Hawaii
      CL_DEVICE_VENDOR = Advanced Micro Devices, Inc.
      CL_DRIVER_VERSION = 1642.5 (VM)
      CL_DEVICE_PROFILE = FULL_PROFILE
      CL_DEVICE_VERSION = OpenCL 1.2 AMD-APP (1642.5)
      CL_DEVICE_EXTENSIONS = cl_khr_fp64 cl_amd_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_gl_sharing cl_ext_atomic_counters_32 cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_media_ops2 cl_amd_popcnt cl_khr_d3d10_sharing cl_khr_d3d11_sharing cl_khr_dx9_media_sharing cl_khr_image2d_from_buffer cl_khr_spir cl_khr_gl_event 
      CL_DEVICE_OPENCL_C_VERSION = OpenCL C 1.2 
  
          Sub Buffer destructed: 17348816
          Buffer destructed (2): 16864864
          Buffer destructed (1): 16864864
  
      ** NEW DEVICE: [0x5DDFE790]
      OpenCL 1.2 - Extensions: cl_amd_device_attribute_query cl_amd_fp64 cl_amd_media_ops cl_amd_media_ops2 cl_amd_popcnt cl_amd_printf cl_amd_vec3 cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_fp64 cl_khr_gl_event cl_khr_gl_sharing cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_spir 
      CL_DEVICE_TYPE = 2
      CL_DEVICE_VENDOR_ID = 4098
      CL_DEVICE_MAX_COMPUTE_UNITS = 8
      CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS = 3
      CL_DEVICE_MAX_WORK_GROUP_SIZE = 1024
      CL_DEVICE_MAX_CLOCK_FREQUENCY = 2500
      CL_DEVICE_ADDRESS_BITS = 64
      CL_DEVICE_AVAILABLE = true
      CL_DEVICE_COMPILER_AVAILABLE = true
      CL_DEVICE_NAME =       Intel(R) Xeon(R) CPU E5-2609 v2 @ 2.50GHz
      CL_DEVICE_VENDOR = GenuineIntel
      CL_DRIVER_VERSION = 1642.5 (sse2,avx)
      CL_DEVICE_PROFILE = FULL_PROFILE
      CL_DEVICE_VERSION = OpenCL 1.2 AMD-APP (1642.5)
      CL_DEVICE_EXTENSIONS = cl_khr_fp64 cl_amd_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_gl_sharing cl_ext_device_fission cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_media_ops2 cl_amd_popcnt cl_khr_d3d10_sharing cl_khr_spir cl_khr_gl_event 
      CL_DEVICE_OPENCL_C_VERSION = OpenCL C 1.2 
          -TRYING TO EXEC NATIVE KERNEL-
          KERNEL EXEC argument: 1337, should be 1337
          Event callback status: CL_COMPLETE
  
          EMPTY NATIVE KERNEL AVG EXEC TIME: 28.8072us
  
          Sub Buffer destructed: 17348816
          Buffer destructed (2): 16864864
          Buffer destructed (1): 16864864
  
  -------------------------
  NEW PLATFORM: [0x5DB27010]
      CL_PLATFORM_PROFILE = FULL_PROFILE
      CL_PLATFORM_VERSION = OpenCL 1.2 
      CL_PLATFORM_NAME = Intel(R) OpenCL
      CL_PLATFORM_VENDOR = Intel(R) Corporation
      CL_PLATFORM_EXTENSIONS = cl_khr_icd cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_khr_depth_images cl_khr_3d_image_writes cl_intel_exec_by_local_thread cl_khr_spir cl_khr_fp64
      CL_PLATFORM_ICD_SUFFIX_KHR = INTEL
  
  
      ** NEW DEVICE: [0x5DB1E8F0]
      OpenCL 1.2 - Extensions: cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_depth_images cl_khr_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_icd cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_spir 
      CL_DEVICE_TYPE = 2
      CL_DEVICE_VENDOR_ID = 32902
      CL_DEVICE_MAX_COMPUTE_UNITS = 8
      CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS = 3
      CL_DEVICE_MAX_WORK_GROUP_SIZE = 8192
      CL_DEVICE_MAX_CLOCK_FREQUENCY = 2500
      CL_DEVICE_ADDRESS_BITS = 64
      CL_DEVICE_AVAILABLE = true
      CL_DEVICE_COMPILER_AVAILABLE = true
      CL_DEVICE_NAME =       Intel(R) Xeon(R) CPU E5-2609 v2 @ 2.50GHz
      CL_DEVICE_VENDOR = Intel(R) Corporation
      CL_DRIVER_VERSION = 5.0.0.57
      CL_DEVICE_PROFILE = FULL_PROFILE
      CL_DEVICE_VERSION = OpenCL 1.2 (Build 57)
      CL_DEVICE_EXTENSIONS = cl_khr_icd cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_khr_depth_images cl_khr_3d_image_writes cl_intel_exec_by_local_thread cl_khr_spir cl_khr_fp64 
      CL_DEVICE_OPENCL_C_VERSION = OpenCL C 1.2 
          -TRYING TO EXEC NATIVE KERNEL-
          KERNEL EXEC argument: 1337, should be 1337
          Event callback status: CL_COMPLETE
  
          EMPTY NATIVE KERNEL AVG EXEC TIME: 9.5031us
  
          Sub Buffer destructed: 1574991568
          Buffer destructed (2): 1563032880
          Buffer destructed (1): 1563032880
  </code></pre>