> >> 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

