OpenACC and the support of graphics card

Hello everyone, I want to know that if my graphics card support openACC or not?
Is there a way to check the graphics card support using pgi compiler?
my graphic card is : Nvidia GeForce GTX 960M.

thank you in advance.

  • Hisham

Hi Hisham,

PGI’s OpenACC implementation officially only supports NVIDIA’s Tesla line of graphics cards. Though support in this case just means that we’ve tested on these devices. However, most CUDA enabled cards will also work, including a GTX 960M, we just haven’t specifically tested this particular device.

-Mat

okay is there a way that I can know my card support OpenACC through pgi compiler ?
-Hisham

As I said, PGI only officially only supports the Tesla line but should work on any CUDA enabled device, including yours.

You can run the command “pgaccelinfo” to see if the PGI runtime recognizes your device. Though, this typically only fails if the CUDA driver isn’t installed properly.

-Mat

I run pgaccelinfo and this was the result I got:
result-of-pgaccelinfo — ImgBB << linux
pgaccelinfo-on-windows — ImgBB << windows

  • Hisham

Hi Hisham,

The output looks fine. Though your Windows driver is a bit old (CUDA 8.0). Since the oldest version of CUDA that we ship with PGI 19.10 is CUDA 9.2, you’ll either need to point the PGI compilers to use a local CUDA 8.0 on your system, or you’ll want to update your driver. Full details can be found here: PGI Release Notes Version 19.10 for x86 and NVIDIA Processors

-Mat

Thank you for your fast responses Mat, oaky you said

PGI only officially only supports the Tesla line but should work on any CUDA enabled device

is that mean OpenACC doesn’t support AMD or Intel accelerators?
-Hisham

Hi Hisham,

The OpenACC standard itself is agnostic as to the target accelerator. It’s a generic model so really can target any accelerator provided there’s a compiler that supports that particular target.

PGI’s OpenACC implementation targets either NVIDIA Tesla devices or Multi-core CPU (x86, Power, and soon ARM).

GCC’s OpenACC implementation supports NVIDIA targets as well, and as of yesterday in the 10.0 release, targets AMD Radeon (GCC 10 Compiler Released With Radeon OpenMP/OpenACC Offload, Intel Tigerlake/Cooperlake - Phoronix)

Not sure what you mean by Intel accelerator since their Xe product isn’t released yet. The now discontinued Phi processor is more a multi-core CPU so can be targeted by PGI using multicore (-ta=multicore).

  • Mat