About PGI 14.1 SPIR and OpenACC..

Hi,
some questions on your new 2014 compilers…
first you say complete OpenACC 2.0 API but also say “Additional OpenACC 2.0 features supported” in release notes…
can you clarify what’s left for complete OpenACC 2.0 support (on Nvidia of course as Radeons will require OpenCL 2.0 seems)

also you have a section called LLVM/SPIR and Native GPU Code Generation
where you say “In legacy mode, which continues to be the default, PGI generates low-level CUDA C or OpenCL code” so that means in theory should support any OpenCL implementation as Intel iGPUs on Windows?

finally you say “Beginning in PGI 14.1, PGI can generate an LLVM-based intermediate representation” using –ta=radeon:llvm on Radeon GPUs… as you mention SPIR in this section title this means that you are using SPIR support (i.e. cl_khr_spir) in AMD OpenCL drivers… I say because drivers currently doesn’t show cl_khr_spir support… do you have some backdoor for feeding SPIR into AMD OpenCL drivers?

Hi pgio,

While we have the big items in, i.e. the routine directive (with some limitations) and unstructured data regions, we do have a few 2.0 features left, such as the “tile” clause, atomics, and a few others. The complete list can be found HERE (scroll down for the 2.0 features)

Where did you see reference to “complete OpenACC 2.0 API”? Maybe you’re confusing this with “complete run-time API support” (i.e the openACC run time function calls)? Note that this statement was a bit forward thinking since one call, acc_wait_async, didn’t make it into 14.1.

so that means in theory should support any OpenCL implementation as Intel iGPUs on Windows?

Not quite since there’s more to targeting devices than just generating OpenCL.

I say because drivers currently doesn’t show cl_khr_spir support

You are correct that the AMD OpenCL driver does not officially support this feature and one reason why we don’t use it by default. LLVM is necessary as we move forward towards support for on device debugging but is not currently needed in order for you to target Radeon. Though, you are welcome to experiment with it.

  • Mat