[Openmp-dev] How do I map an array of pointers using array notation

Rokos, Georgios via Openmp-dev openmp-dev at lists.llvm.org
Fri Nov 8 16:01:11 PST 2019


Use brackets:

#pragma omp target enter data map(alloc: a[0:1024])
for(int i=0; i<1024; i++) {
  #pragma omp target enter data map(to: a[i][0:1])
}

George

From: Itaru Kitayama <itaru.kitayama at gmail.com>
Sent: Friday, 8 November, 2019 15:57
To: Rokos, Georgios <georgios.rokos at intel.com>
Cc: openmp-dev (openmp-dev at lists.llvm.org) <openmp-dev at lists.llvm.org>
Subject: Re: [Openmp-dev] How do I map an array of pointers using array notation

I am getting:
$ cat t1.cpp#include <iostream>
int main() {
int *a[1024];

#pragma omp target enter data map(alloc: a[0:1024])
for (int i=0;i<1024;i++)
#pragma omp target enter data map(to: a[i][0:1])

#pragma omp target map(alloc: a)
{

}

}
t1.cpp:8:27: error: '#pragma omp target enter data' cannot be an immediate substatement
        #pragma omp target enter data map(to: a[i][0:1])
                                 ^
1 error generated.

On Fri, Nov 8, 2019 at 7:56 PM Rokos, Georgios <georgios.rokos at intel.com<mailto:georgios.rokos at intel.com>> wrote:
You have to “enter data” for each element of the array. Something like:

#pragma omp target enter data map(alloc: a[0:1024])
for(int i=0; i<1024; i++)
  #pragma omp target enter data map(to: a[i][0:1])

#pragma omp target map(alloc: a)
{
...
}

for(int i=0; i<1024; i++)
  #pragma omp target exit data map(from: a[i][0:1])
#pragma omp target exit data map(alloc: a[0:1024])

George

From: Openmp-dev <openmp-dev-bounces at lists.llvm.org<mailto:openmp-dev-bounces at lists.llvm.org>> On Behalf Of Itaru Kitayama via Openmp-dev
Sent: Thursday, 7 November, 2019 21:01
To: openmp-dev <openmp-dev at lists.llvm.org<mailto:openmp-dev at lists.llvm.org>>
Subject: [Openmp-dev] How do I map an array of pointers using array notation

Hi,
As this

int *a[1024];
#pragma omp target parallel for map(tofrom: a[0:1024][0:1])

does not compile. How do I move data to the device properly?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/openmp-dev/attachments/20191109/8cd266e5/attachment-0001.html>


More information about the Openmp-dev mailing list