Author Topic: OpenCL Detection  (Read 503 times)

AW

  • Member
  • *****
  • Posts: 2243
  • Let's Make ASM Great Again!
OpenCL Detection
« on: June 23, 2019, 09:09:45 PM »
Although OpenCL performance and capabilities are not as good as CUDA's, it is ubiquitous.
I made a test in 4 different computers and all of them add OpenCL ready (see below).
Interestingly Intel and AMD have version 2.x drivers, while NVidia is still at 1.2

Soon I will post some general-purpose computing on graphics processing units, aka GPGPU, done using OpenCL.

Code: [Select]
Found 1 platform(s)

*** Platforms Information ***

Platform 0 - Name: AMD Accelerated Parallel Processing
Vendor: Advanced Micro Devices, Inc.
Version: OpenCL 2.0 AMD-APP (1800.8)
Profile: FULL_PROFILE
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

*** Devices Information ***

Platform 0
Device Name: Juniper
Driver Version: 1800.8 (VM)
Device Profile: FULL_PROFILE
Device Version: OpenCL 1.2 AMD-APP (1800.8)

<Press any key to Exit>

***********************************************************

Found 2 platform(s)

*** Platforms Information ***

Platform 0 - Name: NVIDIA CUDA
Vendor: NVIDIA Corporation
Version: OpenCL 1.2 CUDA 10.1.135
Profile: FULL_PROFILE
Extensions: 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_fp64 cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharing cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll cl_nv_d3d10_sharing cl_khr_d3d10_sharing cl_nv_d3d11_sharing cl_nv_copy_opts cl_nv_create_buffer

Platform 1 - Name: Intel(R) OpenCL
Vendor: Intel(R) Corporation
Version: OpenCL 2.1
Profile: FULL_PROFILE
Extensions: cl_intel_dx9_media_sharing cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_d3d11_sharing cl_khr_depth_images cl_khr_dx9_media_sharing cl_khr_fp64 cl_khr_gl_sharing cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_icd cl_khr_image2d_from_buffer cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_spir

*** Devices Information ***

Platform 0
Device Name: GeForce GTX 1050
Driver Version: 419.72
Device Profile: FULL_PROFILE
Device Versionm: OpenCL 1.2 CUDA

Platform 1
Device Name: Intel(R) HD Graphics 630
Driver Version: 22.20.16.4708
Device Profile: FULL_PROFILE
Device Versionm: OpenCL 2.1

<Press any key to Exit>

*************************************************

Found 1 platform(s)

*** Platforms Information ***
Platform 0 - Name: Intel(R) OpenCL
Vendor: Intel(R) Corporation
Version: OpenCL 1.2
Profile: FULL_PROFILE
Extensions: cl_intel_dx9_media_sharing cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_d3d11_sharing cl_khr_depth_images cl_khr_dx9_media_sharing cl_khr_gl_sharing 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

*** Devices Information ***
Platform 0
Device Name: Intel(R) HD Graphics 4400
Driver Version: 20.19.15.4549
Device Profile: FULL_PROFILE
Device Versionm: OpenCL 1.2

<Press any key to Exit>

***************************************************

Found 1 platform(s)

*** Platforms Information ***

Platform 0 - Name: NVIDIA CUDA
Vendor: NVIDIA Corporation
Version: OpenCL 1.2 CUDA 10.2.120
Profile: FULL_PROFILE
Extensions: 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_fp64 cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharing cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll cl_nv_d3d10_sharing cl_khr_d3d10_sharing cl_nv_d3d11_sharing cl_nv_copy_opts cl_nv_create_buffer

*** Devices Information ***

Platform 0
Device Name: GeForce GTX 1060 6GB
Driver Version: 430.64
Device Profile: FULL_PROFILE
Device Versionm: OpenCL 1.2 CUDA
<Press any key to Exit>





daydreamer

  • Member
  • ****
  • Posts: 894
  • watch Chebyshev on the backside of the Moon
Re: OpenCL Detection
« Reply #1 on: June 23, 2019, 09:46:09 PM »
thanks AW
with a 1.5k euro new highend nvidia gpu,you could have trillions trillions ball bouncing around in realtime with physics code on CUDA cores at the same time showing them with the usual pixelshader cores :thumbsup:

Quote from Flashdance
Nick  :  When you give up your dream, you die
*wears a flameproof asbestos suit*
what cpu handle "press any key"? any cpu of course(from C#) :D

AW

  • Member
  • *****
  • Posts: 2243
  • Let's Make ASM Great Again!
Re: OpenCL Detection
« Reply #2 on: June 24, 2019, 04:08:27 AM »
with a 1.5k euro new highend nvidia gpu,you could have trillions trillions ball bouncing around in realtime with physics code on CUDA cores at the same time showing them with the usual pixelshader cores :thumbsup:
Please let me know when you get one of those.  :thumbsup:

HSE

  • Member
  • *****
  • Posts: 1081
  • <AMD>< 7-32>
Re: OpenCL Detection
« Reply #3 on: June 24, 2019, 11:36:32 AM »
 :thumbsup:

 With minor modifications work in 32 bit using UASM32

Code: [Select]
Found 1 platform(s)

*** Platforms Information ***

Platform 0 - Name: AMD Accelerated Parallel Processing
Vendor: Advanced Micro Devices, Inc.
Version: OpenCL 2.0 AMD-APP (1800.8)
Profile: FULL_PROFILE
Extensions: cl_khr_icd cl_khr_d3d10_sharing cl_khr_d3d11_sharing cl_khr_dx9_media_sharing cl_amd_event_callback cl_amd_o
ffline_devices

*** Devices Information ***

Platform 0
Device Name: BeaverCreek
Driver Version: 1800.8 (VM)
Device Profile: FULL_PROFILE
Device Version: OpenCL 1.2 AMD-APP (1800.8)

<Press any key to Exit>

Raistlin

  • Member
  • ***
  • Posts: 495
Re: OpenCL Detection
« Reply #4 on: June 24, 2019, 04:05:00 PM »
Although NVIDIA owns 90% of the GPU market via CUDA, it makes sense to also support the other 10% percent in your code.
That 10% being OPENGL/CL/ES (old school) /VULKAN (new school) capable. I believe NVIDIA duly supports the
Open-flavors to ensure compatibility, whilst keeping an eye on the competition :tongue:
By that logic then, OPENGL/CL/ES/VULKAN support is ubiquitous (everywhere) - making it an attractive proposition for
cross-platform development. I own a number of all of the above capable machines (phones/tablets/laptops/sbc/pc) running on
variants of Linux and Windows; having options is always cool - thanx AW for the code-lets, will investigate.
Are you pondering what I'm pondering? It's time to take over the world ! - let's use ASSEMBLY...

AW

  • Member
  • *****
  • Posts: 2243
  • Let's Make ASM Great Again!
Re: OpenCL Detection
« Reply #5 on: June 24, 2019, 07:44:43 PM »
With minor modifications work in 32 bit using UASM32
I did not made much effort to make things easy for 32-bit, so I am glad you succeeded.  :thumbsup:

it makes sense to also support the other 10% percent in your code.
That 10% being OPENGL/CL/ES (old school) /VULKAN (new school) capable. I believe NVIDIA duly supports the
Open-flavors to ensure compatibility, whilst keeping an eye on the competition :tongue:
It appears that OpenCl does not have a promising future.
Apple, AMD, Intel, all are preparing contingency plans, and NVidia would rather prefer it continues as it is, inferior to CUDA.


daydreamer

  • Member
  • ****
  • Posts: 894
  • watch Chebyshev on the backside of the Moon
Re: OpenCL Detection
« Reply #6 on: June 24, 2019, 08:30:40 PM »
Soon I will post some general-purpose computing on graphics processing units, aka GPGPU, done using OpenCL.
I read up on OpenCL,built on C++ 11
so does that mean those with C++ skills can easier participate in thread with whatever general purpose computing you had in mind,fibonnaci,primegenerator,pi generator to begin with ??? and do the usual compare speed?
will also be interesting how much of Xgb VRAM you can access and how much is reserved to the usual dx12/2d screen on 4x5k screens?

still I prefer MASM coding


Quote from Flashdance
Nick  :  When you give up your dream, you die
*wears a flameproof asbestos suit*
what cpu handle "press any key"? any cpu of course(from C#) :D

AW

  • Member
  • *****
  • Posts: 2243
  • Let's Make ASM Great Again!
Re: OpenCL Detection
« Reply #7 on: June 25, 2019, 03:14:27 AM »
Soon I will post some general-purpose computing on graphics processing units, aka GPGPU, done using OpenCL.
I read up on OpenCL,built on C++ 11
so does that mean those with C++ skills can easier participate in thread with whatever general purpose computing you had in mind,fibonnaci,primegenerator,pi generator to begin with ??? and do the usual compare speed?
will also be interesting how much of Xgb VRAM you can access and how much is reserved to the usual dx12/2d screen on 4x5k screens?

GPUs can be programmed in a C/C++ like fashion but GPUs have quite different rules.
Interestingly, OpenCL allows you to program for the CPU instead of the GPU making it a direct competitor for the OpenMP. Anyway, I will not waste time dissecting that.

Quote
still I prefer MASM coding
MASM is all right, but is not very productive when compared with UASM.

LiaoMi

  • Member
  • ****
  • Posts: 573
Re: OpenCL Detection
« Reply #8 on: June 26, 2019, 04:27:07 AM »
 :sad:

Code: [Select]
OpenCLMandelBrot>ucl
Found 2 platform(s)

*** Platforms Information ***

Platform 0 - Name: NVIDIA CUDA
Vendor: NVIDIA Corporation
Version: OpenCL 1.2 CUDA 10.1.120
Profile: FULL_PROFILE
Extensions: 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_fp64 cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharing cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll cl_nv_d3d10_sharing cl_khr_d3d10_sharing cl_nv_d3d11_sharing cl_nv_copy_opts cl_khr_gl_event cl_nv_create_buffer

Platform 1 - Name: Intel(R) OpenCL
Vendor: Intel(R) Corporation
Version: OpenCL 1.2
Profile: FULL_PROFILE
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_dx9_media_sharing cl_intel_dx9_media_sharing cl_khr_d3d11_sharing cl_khr_gl_sharing cl_khr_fp64

*** Devices Information ***

Platform 0
Device Name: Quadro P4000
Driver Version: 430.39
Device Profile: FULL_PROFILE
Device Version: OpenCL 1.2 CUDA
clGetDeviceIDs failed.

AW

  • Member
  • *****
  • Posts: 2243
  • Let's Make ASM Great Again!
Re: OpenCL Detection
« Reply #9 on: June 26, 2019, 05:12:51 AM »
:sad:
clGetDeviceIDs failed.
The program attempts to list only devices of type CL_DEVICE_TYPE_GPU.
May be it will succeed with another types of device. These are possible types:

/* cl_device_type - bitfield */
#define CL_DEVICE_TYPE_DEFAULT                  (1 << 0)
#define CL_DEVICE_TYPE_CPU                         (1 << 1)
#define CL_DEVICE_TYPE_GPU                         (1 << 2)
#define CL_DEVICE_TYPE_ACCELERATOR          (1 << 3)
#define CL_DEVICE_TYPE_CUSTOM                   (1 << 4)
#define CL_DEVICE_TYPE_ALL                          0xFFFFFFFF

But it is strange (for me, at least).