16 | const float* __restrict__ x,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
17 | const float* __restrict__ weight,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
18 | const float* __restrict__ bias,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_55/b5_s1_tiled_matmul_pool_sync_opt/base/base.cu:16:31: note: the first parameter in the range is 'x'
16 | const float* __restrict__ x,
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_55/b5_s1_tiled_matmul_pool_sync_opt/base/base.cu:18:31: note: the last parameter in the range is 'bias'
18 | const float* __restrict__ bias,
| ^~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_55/b5_s1_tiled_matmul_pool_sync_opt/base/base.cu:20:5: warning: 3 adjacent parameters of 'module_fn_kernel' of similar type ('int') are easily swapped by mistake [bugprone-easily-swappable-parameters]
20 | int B, // batch size
| ^~~~~~~~~~~~~~~~~~~~~~~
21 | int inF, // number of input features
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
22 | int outF, // number of output features
| ~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_55/b5_s1_tiled_matmul_pool_sync_opt/base/base.cu:20:9: note: the first parameter in the range is 'B'
20 | int B, // batch size
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_55/b5_s1_tiled_matmul_pool_sync_opt/base/base.cu:22:9: note: the last parameter in the range is 'outF'
22 | int outF, // number of output features
| ^~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_55/b5_s1_tiled_matmul_pool_sync_opt/base/base.cu:23:5: warning: 2 adjacent parameters of 'module_fn_kernel' of convertible types are easily swapped by mistake [bugprone-easily-swappable-parameters]
23 | int kernel_size,
| ^~~~~~~~~~~~~~~~
24 | float scale_factor
| ~~~~~~~~~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_55/b5_s1_tiled_matmul_pool_sync_opt/base/base.cu:23:9: note: the first parameter in the range is 'kernel_size'
23 | int kernel_size,
| ^~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_55/b5_s1_tiled_matmul_pool_sync_opt/base/base.cu:24:11: note: the last parameter in the range is 'scale_factor'
24 | float scale_factor
| ^~~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_55/b5_s1_tiled_matmul_pool_sync_opt/base/base.cu:24:5: note: 'int' and 'float' may be implicitly converted
24 | float scale_factor
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_55/b5_s1_tiled_matmul_pool_sync_opt/base/base.cu:26:13: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
26 | int b = blockIdx.x;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_55/b5_s1_tiled_matmul_pool_sync_opt/base/base.cu:27:15: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
27 | int tid = threadIdx.x;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_55/b5_s1_tiled_matmul_pool_sync_opt/base/base.cu:43:38: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
43 | for (int j = tid; j < outF; j += blockDim.x) {
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_55/b5_s1_tiled_matmul_pool_sync_opt/base/base.cu:45:30: warning: result of multiplication in type 'int' is used as a pointer offset after an implicit widening conversion to type 'ptrdiff_t' [bugprone-implicit-widening-of-multiplication-result]
45 | const float* x_row = x + b * inF;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_55/b5_s1_tiled_matmul_pool_sync_opt/base/base.cu:45:34: note: make conversion explicit to silence this warning
4 | const float* x_row = x + b * inF;
| ^~~~~~~
| static_cast<ptrdiff_t>( )
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_55/b5_s1_tiled_matmul_pool_sync_opt/base/base.cu:45:34: note: perform multiplication in a wider type
45 | const float* x_row = x + b * inF;
| ^
| static_cast<ptrdiff_t>( )
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_55/b5_s1_tiled_matmul_pool_sync_opt/base/base.cu:46:30: warning: result of multiplication in type 'int' is used as a pointer offset after an implicit widening conversion to type 'ptrdiff_t' [bugprone-implicit-widening-of-multiplication-result]
46 | const float* w_row = weight + j * inF;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_55/b5_s1_tiled_matmul_pool_sync_opt/base/base.cu:46:39: note: make conversion explicit to silence this warning
46 | const float* w_row = weight + j * inF;
| ^~~~~~~
| static_cast<ptrdiff_t>( )
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_55/b5_s1_tiled_matmul_pool_sync_opt/base/base.cu:46:39: note: perform multiplication in a wider type
46 | const float* w_row = weight + j * inF;
| ^
| static_cast<ptrdiff_t>( )
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_55/b5_s1_tiled_matmul_pool_sync_opt/base/base.cu:59:50: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
59 | for (int seg = tid; seg < pooled_len; seg += blockDim.x) {
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_55/b5_s1_tiled_matmul_pool_sync_opt/base/base.cu:89:16: warning: the parameter 'x' is copied for each invocation but only used as a const reference; consider making it a const reference [performance-unnecessary-value-param]
89 | at::Tensor x,
| ^
| const &
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_55/b5_s1_tiled_matmul_pool_sync_opt/base/base.cu:92:16: warning: the parameter 'weight' is copied for each invocation but only used as a const reference; consider making it a const reference [performance-unnecessary-value-param]
92 | at::Tensor weight,
| ^
| const &
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_55/b5_s1_tiled_matmul_pool_sync_opt/base/base.cu:93:16: warning: the parameter 'bias' is copied for each invocation but only used as a const reference; consider making it a const reference [performance-unnecessary-value-param]
93 | at::Tensor bias
| ^
| const &
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_55/b5_s1_tiled_matmul_pool_sync_opt/base/base.cu:117:9: warning: narrowing conversion from 'int64_t' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
117 | B,
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_55/b5_s1_tiled_matmul_pool_sync_opt/base/base.cu:118:9: warning: narrowing conversion from 'int64_t' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
118 | inF,
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_55/b5_s1_tiled_matmul_pool_sync_opt/base/base.cu:119:9: warning: narrowing conversion from 'int64_t' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
119 | outF,
| ^