[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
Sat Feb 27 17:17:55 PST 2021
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;
}
}
}
More information about the Openmp-dev
mailing list