5 #ifndef FML_GPU_INTERNALS_LAUNCHER_H
6 #define FML_GPU_INTERNALS_LAUNCHER_H
10 #include "../../_internals/types.hh"
15 namespace kernel_launcher
19 static const int BLOCK_SIZE = 16;
21 static inline int grid_len(len_t len)
23 return (len + BLOCK_SIZE - 1) / BLOCK_SIZE;
29 static inline dim3 dim_block1()
31 dim3 block(BLOCK_SIZE);
35 static inline dim3 dim_block2()
37 dim3 block(BLOCK_SIZE, BLOCK_SIZE);
43 static inline dim3 dim_grid(len_t len)
45 dim3 grid(grid_len(len));
49 static inline dim3 dim_grid(len_t m, len_t n)
51 dim3 grid(grid_len(m), grid_len(n));