cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

alexfd7
Adept I

Simple Question

Hello everyone, I once again here with many questions kkkk

For each type of video card, I have to download the specific SDK manufacturer to be able to create applications and use the GPU processing units for general purposes.

In my case I have a "AMD Radeon" and an Intel CPU. I already can create applications in C ++ for AMD, because I can also use the CPU intel?

For that to happen I should not have installed the SDK from intel? Why device version information (intel CPU) is defined as AMD-APP?

Number platforms: 1

Number devices: 2

--------------------------

Vendor: Advanced Micro Devices, Inc.

Device: Iceland

Version: OpenCL 2.0 AMD-APP (1729.3)

--------------------------

Vendor: GenuineIntel

Device: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz

Version: OpenCL 1.2 AMD-APP

(1729.3)

Thanks for listening

0 Likes
4 Replies
Dithermaster
Adept I

> For each type of video card, I have to download the specific SDK manufacturer to be able to create applications and use the GPU processing units for general purposes.

That statement is incorrect. A single OpenCL SDK, using the cl.h header supplied by Khronos, can target any OpenCL runtime.

0 Likes

Hello, thank you for awnser

Oh really? So let's think of an example, if I have a computer with video cards AMD, NVIDIA, and an Intel CPU. A single SDK would be enough to communicate with all devices?  What is the difference then if I install an SDK X or Y?

0 Likes

You will get max support and benefits using hardware from a single manufacturer, ie Nvidia, AMD or intel. AMD's opencl can see and use Nvidia cards and Intel CPUs, just not as well as its own. You may run into trouble installing multiple SDKs in a single host, especially if you don't keep track of correct paths, and, in windows, registry entries.

0 Likes

You need to differentiate between CPU devices and GPU devices.

AMD and Intel have CPU implementations of OpenCL. Since both companies produce processors that are ISA compatible, AMD OCL CPU implementation can run on Intel CPUs and IIRC, Intel implementation can run on AMD CPUs.

This is not the case with GPUs. Since invoking a GPU workload is very vendor specific, each vendor GPU implementation can only run on - well  its own GPUs.

The OpenCL ICD is publishing platforms (e.g. Intel,AMD, Nvidia), an OpenCL context can be comprised out of a single platform. I.e. GPUs from different vendors can't be members of the same cl context.

0 Likes