Xmipp  v3.23.11-Nereus
cuda_volume_deform_sph_defines.h
Go to the documentation of this file.
1 #ifndef CUDA_VOLUME_DEFORM_SPH_DEFINES_H
2 #define CUDA_VOLUME_DEFORM_SPH_DEFINES_H
3 
4 #define NONE 0
5 #define MAXWELL 4
6 #define PASCAL 5
7 #define TURING 6
8 #define AMPERE 7
9 
10 // Degrees of the basis
11 // (Setting exact degrees you use in the run may increase performance,
12 // especially when the degrees are low)
13 #ifndef L1
14 #define L1 5
15 #endif
16 #ifndef L2
17 #define L2 5
18 #endif
19 
20 // Universal block sizes
21 // (cannot be done fully automatic because we are using BLOCK_*_DIM macros in host code)
22 
23 // Set ARCH to the architecture of your GPU for better performance
24 #define ARCH PASCAL
25 
26 #if ARCH == MAXWELL
27 #define BLOCK_X_DIM 16
28 #define BLOCK_Y_DIM 4
29 #define BLOCK_Z_DIM 2
30 #elif ARCH == PASCAL
31 #define BLOCK_X_DIM 16
32 #define BLOCK_Y_DIM 8
33 #define BLOCK_Z_DIM 1
34 #elif ARCH == TURING
35 #define BLOCK_X_DIM 16
36 #define BLOCK_Y_DIM 8
37 #define BLOCK_Z_DIM 1
38 #elif ARCH == AMPERE
39 #define BLOCK_X_DIM 32
40 #define BLOCK_Y_DIM 1
41 #define BLOCK_Z_DIM 4
42 #else
43 #define BLOCK_X_DIM 8
44 #define BLOCK_Y_DIM 4
45 #define BLOCK_Z_DIM 4
46 #endif
47 // Tuning parameters
48 
49 #endif// CUDA_VOLUME_DEFORM_SPH_DEFINES_H