[Openmp-dev] Libomptarget fatal error 1: '#pragma omp requires unified_shared_memory' not used consistently!

Itaru Kitayama via Openmp-dev openmp-dev at lists.llvm.org
Sun Feb 28 13:30:22 PST 2021


Alexey, all,

Looking at the header file, omp_target.h, I am not so certain __tgt_
functions are internal ones, as omp_get_num_devices et al
are grouped together.

On Sun, Feb 28, 2021 at 10:35 AM Alexey Bataev <a.bataev at hotmail.com> wrote:
>
> Do not call __tgt_register_requires directly, this is the internal function called by global constructor and its arg value depends on #pragma omp requires. Use just this pragma.
>
> Best regards,
> Alexey Bataev
>
> > 27 февр. 2021 г., в 20:28, Itaru Kitayama via Openmp-dev <openmp-dev at lists.llvm.org> написал(а):
> >
> > I'm trying to build a test C++ code that uses part of
> > unified_shared_memory/shared_update.c
> >
> >> On Sun, Feb 28, 2021 at 10:25 AM Johannes Doerfert
> >> <johannesdoerfert at gmail.com> wrote:
> >>
> >> I don't see this test, nor do I understand what you are trying to say.
> >> Is the test failing? If so, which test is this?
> >>
> >> ~ Johannes
> >>
> >>
> >>> On 2/27/21 7:17 PM, Itaru Kitayama via Openmp-dev wrote:
> >>> The below C++ code builds, but the executable fails at runtime.
> >>> (It is taken from the C code under the libomptarget subdir's test directory)
> >>>
> >>> #include <omp.h>
> >>>
> >>> #pragma omp requires unified_shared_memory
> >>> #define N 1024
> >>> extern "C" void __tgt_register_requires(int64_t);
> >>>
> >>> int main() {
> >>>
> >>>   int a[N] = {0};
> >>>   int b[N] = {0};
> >>>   int *device_data;
> >>>   __tgt_register_requires(1);
> >>> #pragma omp target map(tofrom : device_data)
> >>>   {
> >>>     device_data = &a[0];
> >>>     for (int i = 0; i < 1024; i++) {
> >>>       a[i] += 1;
> >>>     }
> >>>   }
> >>> }
> >>> _______________________________________________
> >>> 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


More information about the Openmp-dev mailing list