No GPU acceleration in blackschole sample?

Hi,


I’m interested in writing programs compatible with OpenACC standard. Unfortunately, as I try to compile included example (blackschole), I get warnings during compilation on Linux (Ubuntu 11.04 x64) like this one:

  • Pgcc-Warning-CUDA version 4.0 is not available in this installation; -ta=analysis assumed

In my workstation I have nVidia GT 430 with those drivers/tools:

  • NVIDIA Driver: 295.20

CUDA toolkit 4.1.28 for ubuntu 11.04

GPUcomputingSDK 4.1.28 for linux

All needed variables are set in environment.



Command pgaccelinfo -v returns this:

  • CUDA Driver Version: 4020

NVRM version: NVIDIA UNIX x86_64 Kernel Module 295.20 Mon Feb 6 21:07:30 PST 2012

Device Number: 0

Device Name: GeForce GT 430

Device Revision Number: 2.1

What else do I need to be able to compile this program and to be able to run it with acceleration from this GPU? Reinstallation hasn’t changed anything.



Also friend of mine tried to test compiler on Windows 7 x32 with nVidia GPU (GeForce 540m) and Intel core i5 2410m CPU. In his case, after successful compilation of ‘hello world’ program with PGI compiler (newest available version - 12.3) running it results with crash. Disassambling it with Visual Studio shows that program is crashing at VZEROUPPER assembler code right before calling _pgmain. Compilation was made with command:

  • pgcc hello.c -o hello.exe

What should he do to be able to properly compile simple hello world?


Samo

Hi Samo,

Pgcc-Warning-CUDA version 4.0 is not available in this installation; -ta=analysis assumed

This warning means that the PGI supplied CUDA tool and libraries were not installed. During installation of the PGI compilers, there is a prompt asking if you wish to install the CUDA Toolkit. You must select ‘Yes’ and agree to the CUDA license, in order to use the PGI GPU capabilities including OpenACC. Please reinstall the compilers and select ‘Yes’ at this prompt.

What should he do to be able to properly compile simple hello world?

The initial version of Win7 doesn’t support AVX instructions. Please ask him to either install Win7 SP1, or compile his code targeting an earlier processor (i.e. add the flag “-tp nehalem-32”).

Hope this helps,
Mat

Hi Mat,

Thanks for your reply.

As for linux platform and issue with no CUDA support. After reinstallation there were two locations for files - first in default location (/opt/pgi - where everything should be installed) and second - place where install script is located with all needed resources for installation (in directory in my home).

During installation I chose default location. There might be some bug in installation script. Fortunately I was able to compile example code without that warning and run it on my GPU.

As for Windows platform - it worked. Thanks for help.

Unfortunately for my friend, after running program there is EventSynchronization error 999 with comment ‘unknown’.

Once again, thank you for your help.

Samo

Hi Samo,

I’m glad you got things working. As for the “EventSynchronization” error, I’m not sure. Though the first thing I’d check is if his CUDA Driver is up to date. Can you ask him to run the command line utility “pgaccelinfo” and look for the CUDA driver version as well as the device type?

Note that you can find the latest CUDA development device drivers at http://developer.nvidia.com/cuda-toolkit-41.

  • Mat

Hi Mat,

After executing pgaccelinfo on my friend’s laptop version which appeared was 4020 so it’s up to date. Same error appeared in simple application which only sum array of float values.

After all, it’s good that on my machine compiler works fine and applications utilize GPU power.

Samo

After executing pgaccelinfo on my friend’s laptop version which appeared was 4020 so it’s up to date. Same error appeared in simple application which only sum array of float values.

Ok, then I’m not sure. Next, I’d try compiling a CUDA C code with NVIDIA’s tools and see if it’s general issue or specific to PGI. If the CUDA C example works, please post an example of the code he’s trying to compile, how he’s building and running it, and well as the full output from the run.

  • Mat