32 | const float* __restrict__ weight,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
33 | const float* __restrict__ bias,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250212_optimize_b5_s4_e1_v2/level_2/task_29/b4_s1_modular_strided_thread_parallel/base/base.cu:32:31: note: the first parameter in the range is 'weight'
32 | const float* __restrict__ weight,
| ^~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250212_optimize_b5_s4_e1_v2/level_2/task_29/b4_s1_modular_strided_thread_parallel/base/base.cu:33:31: note: the last parameter in the range is 'bias'
33 | const float* __restrict__ bias,
| ^~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250212_optimize_b5_s4_e1_v2/level_2/task_29/b4_s1_modular_strided_thread_parallel/base/base.cu:35:5: warning: 2 adjacent parameters of 'modular_forward_kernel' of similar type ('int') are easily swapped by mistake [bugprone-easily-swappable-parameters]
35 | int batch_size,
| ^~~~~~~~~~~~~~~
36 | int in_features,
| ~~~~~~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250212_optimize_b5_s4_e1_v2/level_2/task_29/b4_s1_modular_strided_thread_parallel/base/base.cu:35:9: note: the first parameter in the range is 'batch_size'
35 | int batch_size,
| ^~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250212_optimize_b5_s4_e1_v2/level_2/task_29/b4_s1_modular_strided_thread_parallel/base/base.cu:36:9: note: the last parameter in the range is 'in_features'
36 | int in_features,
| ^~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250212_optimize_b5_s4_e1_v2/level_2/task_29/b4_s1_modular_strided_thread_parallel/base/base.cu:40:24: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
40 | const int stride = blockDim.x * gridDim.x;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250212_optimize_b5_s4_e1_v2/level_2/task_29/b4_s1_modular_strided_thread_parallel/base/base.cu:42:20: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
42 | for (int idx = blockIdx.x * blockDim.x + threadIdx.x;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250212_optimize_b5_s4_e1_v2/level_2/task_29/b4_s1_modular_strided_thread_parallel/base/base.cu:48:34: 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]
48 | float sum = compute_dot(&x[i * in_features], &weight[j * in_features], in_features);
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250212_optimize_b5_s4_e1_v2/level_2/task_29/b4_s1_modular_strided_thread_parallel/base/base.cu:48:36: note: make conversion explicit to silence this warning
6 | float sum = compute_dot(&x[i * in_features], &weight[j * in_features], in_features);
| ^~~~~~~~~~~~~~~
| static_cast<ptrdiff_t>( )
/home/robert_sakana_ai/llm_cuda/experiments/20250212_optimize_b5_s4_e1_v2/level_2/task_29/b4_s1_modular_strided_thread_parallel/base/base.cu:48:36: note: perform multiplication in a wider type
48 | float sum = compute_dot(&x[i * in_features], &weight[j * in_features], in_features);
| ^
| static_cast<ptrdiff_t>( )
/home/robert_sakana_ai/llm_cuda/experiments/20250212_optimize_b5_s4_e1_v2/level_2/task_29/b4_s1_modular_strided_thread_parallel/base/base.cu:48:55: 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]
48 | float sum = compute_dot(&x[i * in_features], &weight[j * in_features], in_features);
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250212_optimize_b5_s4_e1_v2/level_2/task_29/b4_s1_modular_strided_thread_parallel/base/base.cu:48:62: note: make conversion explicit to silence this warning
48 | float sum = compute_dot(&x[i * in_features], &weight[j * in_features], in_features);
| ^~~~~~~~~~~~~~~
| static_cast<ptrdiff_t>( )
/home/robert_sakana_ai/llm_cuda/experiments/20250212_optimize_b5_s4_e1_v2/level_2/task_29/b4_s1_modular_strided_thread_parallel/base/base.cu:48:62: note: perform multiplication in a wider type
48 | float sum = compute_dot(&x[i * in_features], &weight[j * in_features], in_features);
| ^
| static_cast<ptrdiff_t>( )
/home/robert_sakana_ai/llm_cuda/experiments/20250212_optimize_b5_s4_e1_v2/level_2/task_29/b4_s1_modular_strided_thread_parallel/base/base.cu:57:19: 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]
57 | torch::Tensor x,
| ^
| const &
/home/robert_sakana_ai/llm_cuda/experiments/20250212_optimize_b5_s4_e1_v2/level_2/task_29/b4_s1_modular_strided_thread_parallel/base/base.cu:58:19: 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]
58 | torch::Tensor weight,
| ^
| const &
/home/robert_sakana_ai/llm_cuda/experiments/20250212_optimize_b5_s4_e1_v2/level_2/task_29/b4_s1_modular_strided_thread_parallel/base/base.cu:59:19: 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]
59 | torch::Tensor bias
| ^
| const &
/home/robert_sakana_ai/llm_cuda/experiments/20250212_optimize_b5_s4_e1_v2/level_2/task_29/b4_s1_modular_strided_thread_parallel/base/base.cu:65:28: warning: narrowing conversion from 'int64_t' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
65 | const int batch_size = x.size(0);
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250212_optimize_b5_s4_e1_v2/level_2/task_29/b4_s1_modular_strided_thread_parallel/base/base.cu:66:29: warning: narrowing conversion from 'int64_t' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
66 | const int in_features = x.size(1);
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250212_optimize_b5_s4_e1_v2/level_2/task_29/b4_s1_modular_strided_thread_parallel/base/base.cu:67:30: warning: narrowing conversion from 'int64_t' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
67 | const int out_features = weight.size(0);
| ^