[Openmp-dev] Mapping of non-trivial type support

Doerfert, Johannes via Openmp-dev openmp-dev at lists.llvm.org
Thu Aug 8 10:32:26 PDT 2019


Itaru, a webpage with implementation status details is in the works,
  https://reviews.llvm.org/D64375
but it seems hard to agree on an initial version.

On 08/05, Itaru Kitayama via Openmp-dev wrote:
> Alexey et al.,
> What's the plan for OpenMP 5.0 API adoption in Clang? Would you point me to
> a link to an appropriate web page?
> Is there an OpenMP 5.0 API work-in-progress branch which I can give it a
> try?
> 
> On Sun, Aug 4, 2019 at 8:57 PM Alexey Bataev <a.bataev at hotmail.com> wrote:
> 
> > clang works in accordance with the standard. Standard says that mapping is
> > performed as bitwise copy of the objects. You can perform the bitwise copy
> > safely only for the trivial types.
> > You cannot simply map a vector. You need to convert it to C/C++ array at
> > first.
> > OpenMP 5.0 introduced user-defined mappers to solve the problem of
> > non-trivial types mapping, which are not supported by clang yet. We're
> > working on this feature.
> >
> > Best regards,
> > Alexey Bataev
> >
> > > 4 авг. 2019 г., в 1:16, Itaru Kitayama via Openmp-dev <
> > openmp-dev at lists.llvm.org> написал(а):
> > >
> > > Hi,
> > > This simple code:
> > >
> > > int main() {
> > >
> > > std::vector<int> v(100, 0);
> > > #pragma omp target teams distribute parallel for map(tofrom: v)
> > >    for (int i=0;i<100;i++) {
> > >         v[i] =i;
> > >    }
> > > };
> > >
> > > causes Clang to warn a message like:
> > >
> > > vectormap.cpp:31:62: warning: Non-trivial type 'std::vector<int>' is
> > mapped, only trivial types are guaranteed to be mapped correctly
> > [-Wopenmp-target]
> > > #pragma omp target teams distribute parallel for map(tofrom: v)
> > >
> > >                                    ^
> > > 1 warning generated.
> > >
> > > ... and encounters an issue at run time. How much non-trivial types are
> > > supported in trunk Clang?
> > > _______________________________________________
> > > Openmp-dev mailing list
> > > Openmp-dev at lists.llvm.org
> > > https://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev
> >

> _______________________________________________
> Openmp-dev mailing list
> Openmp-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev


-- 

Johannes Doerfert
Researcher

Argonne National Laboratory
Lemont, IL 60439, USA

jdoerfert at anl.gov
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/openmp-dev/attachments/20190808/26ff66cc/attachment-0001.sig>


More information about the Openmp-dev mailing list