https://bugs.llvm.org/show_bug.cgi?id=42393
Bug ID: 42393
Summary: Incorrect result with OMP_TARGET_OFFLOAD=DISABLED
Product: OpenMP
Version: unspecified
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: Clang Compiler Support
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected]
#include <iostream>
#include <omp.h>
The attached code gives correct results with OMP_TARGET_OFFLOAD=MANDATORY but
wrong results with OMP_TARGET_OFFLOAD=DISABLED
OMP_NUM_THREADS=2 OMP_TARGET_OFFLOAD=MANDATORY ./a.out
tid = 1
0 1 2 3
tid = 0
0 1 2 3
$ OMP_NUM_THREADS=2 OMP_TARGET_OFFLOAD=DISABLED ./a.out
tid = 0
0 1 0 0
tid = 1
0 0 2 3
int main()
{
const int size = 4;
#pragma omp parallel
{
int A[size];
for(int i = 0; i < size; i++)
A[i] = 0;
#pragma omp target teams distribute map(tofrom: A[:size])
for(int i = 0; i < size; i++)
{
A[i] = i;
}
#pragma omp critical
{
std::cout << "tid = " << omp_get_thread_num() << std::endl;
for(int i = 0; i < size; i++)
std::cout << " " << A[i];
std::cout << std::endl;
}
}
}
--
You are receiving this mail because:
You are on the CC list for the bug._______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs