Cannot run OpenACC on the AMD Radeon R9 Fury Nano GPU

Hello,

Compiling appears successful with pgcc 15.9-0. However, am not able to run on the Fiji GPU.

$ pgcc -Minfo -acc -ta=radeon acc_c1.c
main:
     36, Generating copyout(r[:n])
         Generating copyin(a[:n])
     37, Loop is parallelizable
         Accelerator kernel generated
         Generating Radeon code
         37, #pragma acc loop gang, vector(128) /* global dim(0) local dim(0) */

$ ./a.out 
Current file:     /opt/pgi/linux86-64/2015/examples/OpenACC/samples/acc_c1/acc_c1.c
        function: main
        line:     36
Current region was compiled for:
  AMD Radeon GPU
Available accelerators:
  device[1]: Native X86 (CURRENT DEVICE)
The accelerator does not match the profile for which this program was compiled



$ ./pgaccelinfo

OpenCL Platform:               AMD Accelerated Parallel Processing
OpenCL Vendor:                 Advanced Micro Devices, Inc.

Device Number:                 0
Device Name:                   Fiji
Available:                     Yes
Compiler Available:            Yes
Board Name:                    AMD Radeon (TM) R9 Fury Series 
Device Version:                OpenCL 2.0 AMD-APP (1800.11)
Global Memory Size:            3889168384
Maximum Object Size:           2861826048
Global Cache Size:             16384
Free Memory:                   3789042000
Max Clock (MHz):               1000
Compute Units:                 64
SIMD Units:                    4
SIMD Width:                    16
GPU Cores:                     4096
Wavefront Width:               64
Constant Memory Size:          65536
Local Memory Size:             32768
Workgroup Size:                256
Address Bits:                  64
ECC Support:                   No

Am I missing a step somewhere?

Thank you,
Mario

Hi Mario,

You can see which accelerators we target here: PGI Compilers with OpenACC | PGI

By default, “-ta=radeon” targets Tahiti platforms. For other Radeons, you need to specify achitecture.

We do support the R9 series, but for the Hawaii processors (-ta=radeon:hawaii). I’m not sure if Hawaii binaries can run on a Fiji processor, but that’s where I’d start.

  • Mat

Hello Mat,

I tried with (-ta=radeon:hawaii). Unfortunately, the same message (accelerator does not match the profile).

$ pgcc -acc -Minfo -ta=radeon:hawaii acc_c1.c 
main:
     36, Generating copyout(r[:n])
         Generating copyin(a[:n])
     37, Loop is parallelizable
         Accelerator kernel generated
         Generating Radeon code
         37, #pragma acc loop gang, vector(128) /* global dim(0) local dim(0) */

$ ./a.out 
Current file:     /opt/pgi/linux86-64/2015/examples/OpenACC/samples/acc_c1/acc_c1.c
        function: main
        line:     36
Current region was compiled for:
  AMD Radeon GPU
Available accelerators:
  device[1]: Native X86 (CURRENT DEVICE)
The accelerator does not match the profile for which this program was compiled

Regards,
Mario

Greetings,

Well, after many attempts, was unable to run OpenACC on the R9 380 (Tonga) or the R9 Fury Nano (Fiji) GPUs. Please (please) include support for (-acc -ta=radeon:gcn12 ) or ( -acc -ta=radeon:{tonga|fiji} ). Thank you.

It is amazing seeing the R9 Fury Nano running 2x ~ 2.5x the performance of the R9 285/380 GPU with similar power consumption. I thought about the Radeon HD 7770 (Cape Verde) or the R7 250X (re-branded), but not wanting to purchase another GPU.

Being able to run OpenACC on Radeon GCN 1.2 hardware is a wish for me. It’s what I want for Christmas ( PGI Workstation 15.9.x supporting Radeon Bonaire/Tonga/Fiji ), more than anything, other than continuing to be good to others, love life, and the joy of learning. OpenACC is very cool and not to forget -ta=multicore for folks who have not tried that.

There are so many code names and not sure if OpenACC works on Bonaire. Also, am not sure if one would be able to specify gcn11 or gcn12 in a later release.

GCN 1.1: ( -acc -ta=radeon:gcn11 or -acc -ta=radeon:{bonaire|hawaii} )
GCN 1.2: ( -acc -ta=radeon:gcn12 or -acc -ta=radeon:{tonga|fiji} )


Kind regards,
Mario