AMD OpenCL driver: 1) detects Intel CPU 2) lists same type of GPU with different OpenCL version -


my workstation configuration:

  • intel(r) xeon(r) cpu e5-2609 v2 @ 2.50ghz (x2)
  • amd firepro w9100 (x2)

operating system:

  • windows server 2012 r2 standard

i use lwjgl's opencl demo (link) list platforms , devices.

problem 1)

after installing amd drivers on workstation amd accelerated parallel processing platform list intel(r) xeon(r) cpu e5-2609 v2 @ 2.50ghz device. (3rd device listed amd platform)

i tested same code both amd , intel opencl driver , intel's own implementation faster it's own hardware. (no surprise there)

anyway don't want intel device listen under amd platform.

problem 2)

my 2 identical amd firepro w9100 (device 1 , 2 under amd platform) listed different level of opencl support.

what cause problem, , more importantly how can make 2nd card use 2.0 opencl driver?

opencl demo results:

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 exec native kernel-         kernel exec argument: 1337, should 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 exec native kernel-         kernel exec argument: 1337, should 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 

1) in regkeys (under local_machine/software/krono/vendors or software/amd). these things controlled regkeys. i'm not sure amd uses though. 2) make sure both cards have same driver version. otherwise amd driver allows 1 2.0 device on machine due potential coherence issues between devices. 2.0 devices supposed have svm support cores, i'm not sure happens coherence across devices.


Comments

Popular posts from this blog

python - pip install -U PySide error -

arrays - C++ error: a brace-enclosed initializer is not allowed here before ‘{’ token -

cytoscape.js - How to add nodes to Dagre layout with Cytoscape -