You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
error: OpenMP array shaping operation is not allowed here #34
In godbolt.org I checked nvc++ 25.7 and gcc 15.2 and they appear not to have implemented this feature yet, they didn't understand the shaping syntax.
nvc++ -fopenmp -mp=gpu *.cpp
v25.7NOT compiled
"<source>", line 27: error: invalid text in pragma
#pragma omp target update from( (([Nx][Ny+2])a)[0:Nx][1], (([Nx][Ny+2])a)[0:Nx][ny] )
^
I have replicated the problem. The x86-64 clang++ compilers 14->21 complained that it is "not allowed here" for the example, which is modeled after the use case: updating discontiguous elements for a target region. I have created a ticket in the examples-internal repo to discuss this issue.
$ clang++ -fopenmp -fopenmp-targets=nvptx64-nvidia-cuda snip.cpp
snip.cpp:29:37: error: OpenMP array shaping operation is not allowed here
29 | #pragma omp target update from( (([Nx][Ny+2])a)[0:Nx][1], (([Nx][Ny+2])a)[0:Nx][Ny] )
| ^
Activity
milfeld commentedon Sep 10, 2025
In godbolt.org I checked nvc++ 25.7 and gcc 15.2 and they appear not to have implemented this feature yet, they didn't understand the shaping syntax.
I have replicated the problem. The x86-64 clang++ compilers 14->21 complained that it is "not allowed here" for the example, which is modeled after the use case: updating discontiguous elements for a target region. I have created a ticket in the examples-internal repo to discuss this issue.
I have been using this test code as a quick test: