Questions tagged [pgi-accelerator]

the OpenACC compilers and related directives for x64+accelerator gpu hardware acceleration platforms

Using PGI Accelerator™ compilers, programmers can accelerate applications on x64+accelerator platforms by adding OpenACC compiler directives to existing programs and recompiling. (supports C, C++, Fortran)

Consider marking your question with a relevant fortran or c tag if there is a compilation problem, or hardware-acceleration if this is a question on how to best utilize the GPU hardware.

more information

45 questions
3
votes
0 answers

Accelerate the use of MPI types

I have a Fortran program that uses MPI types to describe subarrays for data transfers, which prevents me to create send/receive buffers manually. This works nice, but when accelerating the program with OpenACC, the subarrays may be not contiguous in…
2
votes
0 answers

Python C extension compiled with nvc++ OpenMP offloading cannot run on GPU

I have a Python extension in C/C++ that I want to use OpenMP offloading with. Using NVIDIA's nvc++, compiling works out as well as using/running the extension in python. The problem ist that it's not using the GPU by default. Setting…
ThiloOS
  • 92
  • 7
2
votes
1 answer

c - Linking a PGI OpenACC-enabled library with gcc

Briefly speaking, my question relies in between compiling/building files (using libraries) with two different compilers while exploiting OpenACC constructs in source files. I have a C source file that has an OpenACC construct. It has only a simple…
mgNobody
  • 738
  • 7
  • 23
1
vote
1 answer

OpenACC duplicate array on device

On a Fortran program accelerated with OpenACC, I need to duplicate an array on GPU. The duplicated array will only be used on GPU and will never be copied on host. The only way I know to create it would be to declare and allocate it on host, then…
Neraste
  • 485
  • 4
  • 15
1
vote
0 answers

Disrepancy in results between OpenMP/OpenACC implementation and gcc/PGI compilers

I have a larger Fortran program that I am trying to convert so that the computationally intensive part will run on an NVidia GPU using OpenMP and/or OpenACC. During development I had some issues to understand how variables declared in a module can…
1
vote
1 answer

Calling OpenACC code from Rust does not run on GPU

Update 09/07/2020 I'm adding a small example for this at https://gitlab.com/lisanhu2016/rust-openacc-example.git It's a public repository with a README, you should be able to try the example there. The libraries I have been linking to are: nvc,…
Sanhu Li
  • 402
  • 5
  • 11
1
vote
1 answer

How to directly (not using a pointer as a function parameter) access arrays on GPU in OpenAcc compute regions?

I have the following simple piece of code, consisting of 4 files: //Data.h: #ifndef DATA_H #define DATA_H constexpr int N=10000000; namespace data{ float particles[N]; float outputArray[N]; } #endif //Process.h: #ifndef PROCESS_H #define…
And
  • 310
  • 1
  • 12
1
vote
0 answers

Does OpenMP 4.0 standard support type-bound procedures in modern Fortran?

I am working on accelerating our research group's research computational fluid dynamics (CFD) code using OpenACC directives. However, the CFD code is written in modern Fortran and it uses type-bound procedures. Unfortunately, type-bound procedures…
Cheng
  • 21
  • 2
1
vote
2 answers

how to solve pgcc&openacc linker error "__pgi_uacc_multicorestart", "__pgi_uacc_multicoreend"

I am trying to parallelize my program in C with OpenACC 2.5 on Ubuntu 16.04 LTS. After a simple modification which is just adding one line, I can compile all my .c files to .o files. In the linking step, pgcc compiler shows undefined reference to…
jjl
  • 41
  • 1
  • 5
1
vote
2 answers

OpenACC Compiling with AMD GPUs

I am having trouble to compile it with AMD Radeon R7 M360. I have compiled it with multi-core as shown below, but can anybody please tell me how to compile it with GPU, I have tried -ta=amd64/radeon but none of it works. You can see code in this…
Fawad Bin Tariq
  • 164
  • 1
  • 3
  • 16
1
vote
1 answer

How to find signature of specific PGI functions used for OpenACC?

How can I find the signature of specific functions used for OpenACC by PGI compiler? For instance, __pgi_uacc_enter or __pgi_uacc_launch functions. Is there any documentation or header files to find the signature. Or even some documentation…
mgNobody
  • 738
  • 7
  • 23
1
vote
1 answer

Pinned memory in OpenACC (using PGI compiler)

I have a simple CUDA code which I translated to OpenACC. All my kernels were parallelized as expected and they have similar performance to my CUDA kernels. However, the device-to-host memory transfer kills my performance. In my CUDA code I use…
AstrOne
  • 3,569
  • 7
  • 32
  • 54
1
vote
1 answer

c - Dynamically linking a PGI OpenACC-enabled library with gcc

Previously, I asked a question regarding the creation of a static library with PGI and linking it to a program that is built with gcc: c - Linking a PGI OpenACC-enabled library with gcc Now, I have the same question but dynamically. How can I built…
mgNobody
  • 738
  • 7
  • 23
1
vote
1 answer

Is dependence analysis mandatory for OpenACC compilers?

Many OpenACC tutorials assume that the compiler/accelerator will check for correctness, by automatically inspecting dependencies and ensuring that the loop is actually parallelizable. However, the OpenACC specification doesn't seem to mention…
1
vote
1 answer

Bash error - binary operator expected

I am trying to install PGI Compilers 2016 and after running the install file I get an error: binary operator expected on the line: if test -d $DIR/install_components ; then ShellCheck.net says "add double quote to prevent globbing and word…
alex
  • 10,900
  • 15
  • 70
  • 100
1
2 3