Displaying 3 results from an estimated 3 matches for "__omp_offloading".
2018 Apr 25
2
[LLVM][RFC] Representing the target device information in the LLVM IR
..., it will change the x86_64-mic interface for 'd' to pass by reference.
Existing code: 64-bit firstprivate variable
void foo() {
double d = 1.0;
#pragma omp target firstprivate(d)
{}
}
$clang -fopenmp-backend -fopenmp-targets=x86_64-mic, i386-pc-linux-gnu ...
x86_64-mic
define void @__omp_offloading...(i64 %d) #0 {
entry:
...
}
i386-pc-linux-gnu
define void @__omp_offloading...(double* dereferenceable(8) %d) #0 {
entry:
...
}
There is an inconsistency between host and target part(s) of the program!
Change Made
==========
We proposed new module level attribute to represent target device in...
2018 Apr 25
0
[LLVM][RFC] Representing the target device information in the LLVM IR
...;
> Existing code: 64-bit firstprivate variable
>
> void foo() {
>
> double d = 1.0;
>
> #pragma omp target firstprivate(d)
>
> {}
>
> }
>
> $clang –fopenmp-backend -fopenmp-targets=x86_64-mic, i386-pc-linux-gnu …
>
> x86_64-mic
>
> define void @__omp_offloading…(i64 %d) #0 {
>
> entry:
>
> …
>
> }
>
> i386-pc-linux-gnu
>
> define void @__omp_offloading…(double* dereferenceable(8) %d) #0 {
>
> entry:
>
> …
>
> }
>
> There is an inconsistency between host and target part(s) of the program!
>
I don...
2018 Apr 25
2
[LLVM][RFC] Representing the target device information in the LLVM IR
..., it will change the x86_64-mic interface for 'd' to pass by reference.
Existing code: 64-bit firstprivate variable
void foo() {
double d = 1.0;
#pragma omp target firstprivate(d)
{}
}
$clang -fopenmp-backend -fopenmp-targets=x86_64-mic, i386-pc-linux-gnu ...
x86_64-mic
define void @__omp_offloading...(i64 %d) #0 {
entry:
...
}
i386-pc-linux-gnu
define void @__omp_offloading...(double* dereferenceable(8) %d) #0 {
entry:
...
}
There is an inconsistency between host and target part(s) of the program!
I don't see how this inconsistency is a problem... at least, not on its own. The host...