Skip to content

Commit cd1f600

Browse files
author
Boris Kosmynin
committed
Added array tests
1 parent cb30003 commit cd1f600

File tree

3 files changed

+87
-0
lines changed

3 files changed

+87
-0
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
// RUN: %sotoc-transform-compile
2+
// RUN: %run-on-host | %filecheck %s
3+
4+
#include <stdio.h>
5+
#include <stdlib.h>
6+
7+
#pragma omp declare target
8+
int X[10];
9+
#pragma omp end declare target
10+
11+
int main(void) {
12+
13+
int tmp = 0;
14+
15+
#pragma omp target device(0) map(from:X[:10])
16+
{
17+
for(int i = 0; i < 10; ++i){
18+
X[i] = 1;
19+
}
20+
}
21+
22+
for(int i = 0; i < 10; ++i){
23+
tmp += X[i];
24+
}
25+
26+
printf("%d",tmp);
27+
fflush(0);
28+
return 0;
29+
}
30+
31+
// CHECK: 10
32+
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// RUN: %sotoc-transform-compile
2+
// RUN: %run-on-host | %filecheck %s
3+
4+
#include <stdio.h>
5+
int main(){
6+
int j;
7+
int size=512;
8+
float A[size][2];
9+
10+
#pragma omp target map(tofrom:A[:size*2])
11+
{
12+
int i;
13+
for(i=0; i< size; i++){
14+
A[i][0]=i;
15+
A[i][1]=i+1;
16+
}
17+
}
18+
19+
for (j = 0; j < size; j+=64) {
20+
printf("%.2f %.2f",A[j][0],A[j][1]);
21+
}
22+
return 0;
23+
}
24+
25+
// CHECK: 0.00 1.00 64.00 65.00 128.00 129.00 192.00 193.00 256.00 257.00 320.00 321.00 384.00 385.00 448.00 449.00
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
// RUN: %sotoc-transform-compile
2+
// RUN: %run-on-host | %filecheck %s
3+
4+
#include <stdio.h>
5+
int main(){
6+
int j;
7+
int sizeX=512;
8+
int sizeY=512;
9+
float A[sizeX][sizeY];
10+
#pragma omp target map(tofrom:A[0:sizeX*sizeY])
11+
{
12+
int i;
13+
int j;
14+
for(i=0; i< sizeX; i++){
15+
for(j=0 ; j< sizeY; j++){
16+
A[i][j]=i-j;
17+
}
18+
}
19+
}
20+
21+
for (j = 0; j < sizeX; j+=64) {
22+
printf("%.2f ",A[j][j]);
23+
}
24+
25+
printf("%.2f ",A[0][1]);
26+
27+
return 0;
28+
}
29+
30+
// CHECK: 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 -1.00

0 commit comments

Comments
 (0)