-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetGrid.cu
45 lines (37 loc) · 1009 Bytes
/
setGrid.cu
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#define TS 128 // Tile size of N
#define WPT 8
void setGrid(int n, dim3 &blockDim, dim3 &gridDim){ // Reg Block
// cudaDeviceSetSharedMemConfig(cudaSharedMemBankSizeEightByte);
// cudaDeviceSetCacheConfig(cudaFuncCachePreferEqual);
blockDim.x = TS/WPT;
blockDim.y = TS/WPT;
gridDim.x = n / TS;
gridDim.y = n / TS;
if(n % TS != 0){
gridDim.x++;
gridDim.y++;
}
}
// #define TS 32
// #define WPT 8
// void setGrid(int n, dim3 &blockDim, dim3 &gridDim){ // Tile
// blockDim.x = TS;
// blockDim.y = TS/WPT;
//
// gridDim.x = n / TS;
// gridDim.y = n / TS;
// if(n % TS != 0){
// gridDim.x++;
// gridDim.y++;
// }
// }
// void setGrid(int n, dim3 &blockDim, dim3 &gridDim) // Naive
// {
// // set your block dimensions and grid dimensions here
// gridDim.x = n / blockDim.x;
// gridDim.y = n / blockDim.y;
// if(n % blockDim.x != 0)
// gridDim.x++;
// if(n % blockDim.y != 0)
// gridDim.y++;
// }