2022-11-04 09:35:42 -07:00

39 lines
949 B
C

/*
* @@name: tile.2
* @@type: C
* @@operation: compile
* @@expect: success
* @@version: omp_5.1
*/
void func1(int A[100][128])
{
#pragma omp tile sizes(4, 4)
#pragma omp tile sizes(5,16)
for (int i = 0; i < 100; ++i)
for (int j = 0; j < 128; ++j)
A[i][j] = i*1000 + j;
}
void func2(int A[100][128])
{
#pragma omp tile sizes(4,4)
for (int i1 = 0; i1 < 100; i1+=5)
for (int j1 = 0; j1 < 128; j1+=16)
for (int i2 = i1; i2 < i1+5; ++i2)
for (int j2 = j1; j2 < j1+16; ++j2)
A[i2][j2] = i2*1000 + j2;
}
void func3(int A[100][128])
{
for (int i11 = 0; i11 < 100; i11+= 5*4)
for (int j11 = 0; j11 < 128; j11+=16*4)
for (int i12 = i11; i12 < i11+( 5*4); i12+= 5)
for (int j12 = j11; j12 < j11+(16*4); j12+=16)
for (int i2 = i12; i2 < i12+ 5; ++i2)
for (int j2 = j12; j2 < j12+16; ++j2)
A[i2][j2] = i2*1000 + j2;
}