It seems that if a system has NVidia GPU and no AMD graphics card then even the AMD OpenCL CPU target is not working with latest version of AMD APP. (as.exe failed error)
Can you give more details abour your set-up.
Also did you installed NV driver after installing AMD APP SDK or before?
The NV driver was installed after Windows OS was installed. Then the AMD APP SDK was installed. The computer has Core i7 2720QM and NVIDIA NVS 4200M.
If for example we write code which uses Open CL, then we cant run it on computers which dont have an AMD GPU even though you do have a CPU target included in the driver?
With regards to the Intel driver: it runs only on about 20% of personal computers because it requires SSE4.2 or no more than 2 years old computer.
I thought initially that AMD driver is the one that will allow the Open CL code to run "anywhere" due to its CPU target support.
This complicates distribution a whole lot and realy reduces the attractivness of Open CL.
Any chance to do something about it?
Yes, I see your point. But if you build a road to get people from A to B, and you complete only the section in your little town, it does not serve much to the actual purpose. Why is it so difficult to allow AMD drivers to work on system without AMD components? Clearly the reason cant be technical as you have all the buiding pieces.
>This is an issue of not supporting our competitors products.
Or yours in this case. The current AMD Open CL testing policy requires from all developers to have a C++ bypass for all Open CL code thus doubling the work. This makes it simply more expensive to support Open CL hindering its adoption and the potential gains people might experience on AMD products.
Can you please explain your point.
Well, I am not sure what exactly is the missing link that needs to be explained, but I will try. There are two types of developers:
1.) Write code to run on your own machine
2.) Write code to run anywhere as the app is commercially distributed and you cant know in advance what is the machine on which it will run.
If you consider point #2 it makes it very handy for AMD APP to provide a CPU Open CL target. This at least in theory makes it possible that you can have the code run on any machine even where GPU is much slower than CPU or where there are no Open CL drivers for the GPU. The CPU target support for Open CL is the "run anywhere" ticket.
But as already established, this is not exactly how it works.The CPU target as you explained is not neccessarily functioning on some 70% (?) of machines in the world which do not have an AMD GPU or AMD CPU.
Consequently to ensure that the commercial application will run on the vast majority of computers, you still need to implement a C++ version of the algortihm next to the Open CL version.
This in turn increases the cost of supporting Open CL.
use a Intel OpenCL. if you have Intel CPU then ask Intel for support. why do you ask AMD support for CPU of their competitor?
Because it is AMD that is hurting.
Retrieving data ...