>
>> Looks like an effort to head off OpenCL, which is already
>> multi-platform,
>> i.e. the same binary runs on Nvidia and ATI/AMD GPUs and Intel and AMD
>> multicore CPUs depending on the hardware available.
>>
> Surely not same binary.
> Probably a similar code at the origin of the binaries, but I doubt the
> same universal code would run on both. You know C++ code depends heavily
> on its environment and at some level these will depend on the platform.

I'm surely not an expert on OpenCL, but an example OpenCL program at:

http://www.hpccommunity.org/content/other-gp-gpu-language-installing-running-ati-opencl-169/

seems to show that it does, by specifying the device on the command line:

# ./Mandelbrot -t -q --device cpu -x 2000
Executing kernel for 1 iterations
-------------------------------------------
Width                    Height                   Time(sec)
2048                     2048                     15.008

In contrast, the same program can be run on the GPU by changing the
--device option to gpu:

# ./Mandelbrot -t -q --device gpu -x 2000
Executing kernel for 1 iterations
-------------------------------------------
Width                    Height                   Time(sec)
2048                     2048                     2.638


The PGI Accelerator compilers that target the Nvidia GPUs will also create
code that runs on the host CPU if a GPU is not available.

John




Reply via email to