58 | const float* __restrict__ input,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
59 | const float* __restrict__ weight,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
60 | const float* __restrict__ bias,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_45/b4_s0_fused_gemm_sigmoid_logsumexp/edit_1/edit_1.cu:58:31: note: the first parameter in the range is 'input'
58 | const float* __restrict__ input,
| ^~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_45/b4_s0_fused_gemm_sigmoid_logsumexp/edit_1/edit_1.cu:60:31: note: the last parameter in the range is 'bias'
60 | const float* __restrict__ bias,
| ^~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_45/b4_s0_fused_gemm_sigmoid_logsumexp/edit_1/edit_1.cu:62:5: warning: 3 adjacent parameters of 'fused_gemm_sigmoid_logsumexp_kernel' of similar type ('const int') are easily swapped by mistake [bugprone-easily-swappable-parameters]
62 | const int batch_size,
| ^~~~~~~~~~~~~~~~~~~~~
63 | const int input_size,
| ~~~~~~~~~~~~~~~~~~~~~
64 | const int hidden_size
| ~~~~~~~~~~~~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_45/b4_s0_fused_gemm_sigmoid_logsumexp/edit_1/edit_1.cu:62:15: note: the first parameter in the range is 'batch_size'
62 | const int batch_size,
| ^~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_45/b4_s0_fused_gemm_sigmoid_logsumexp/edit_1/edit_1.cu:64:15: note: the last parameter in the range is 'hidden_size'
64 | const int hidden_size
| ^~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_45/b4_s0_fused_gemm_sigmoid_logsumexp/edit_1/edit_1.cu:67:21: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
67 | const int row = blockIdx.x;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_45/b4_s0_fused_gemm_sigmoid_logsumexp/edit_1/edit_1.cu:68:21: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
68 | const int tid = threadIdx.x;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_45/b4_s0_fused_gemm_sigmoid_logsumexp/edit_1/edit_1.cu:73:31: 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]
73 | const float* row_input = &input[row * input_size];
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_45/b4_s0_fused_gemm_sigmoid_logsumexp/edit_1/edit_1.cu:73:37: note: make conversion explicit to silence this warning
4 | const float* row_input = &input[row * input_size];
| ^~~~~~~~~~~~~~~~
| static_cast<ptrdiff_t>( )
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_45/b4_s0_fused_gemm_sigmoid_logsumexp/edit_1/edit_1.cu:73:37: note: perform multiplication in a wider type
73 | const float* row_input = &input[row * input_size];
| ^~~
| static_cast<ptrdiff_t>( )
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_45/b4_s0_fused_gemm_sigmoid_logsumexp/edit_1/edit_1.cu:75:51: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
75 | for (int col = tid; col < hidden_size; col += blockDim.x) {
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_45/b4_s0_fused_gemm_sigmoid_logsumexp/edit_1/edit_1.cu:76:36: 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]
76 | const float* col_weight = &weight[col * input_size];
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_45/b4_s0_fused_gemm_sigmoid_logsumexp/edit_1/edit_1.cu:76:43: note: make conversion explicit to silence this warning
76 | const float* col_weight = &weight[col * input_size];
| ^~~~~~~~~~~~~~~~
| static_cast<ptrdiff_t>( )
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_45/b4_s0_fused_gemm_sigmoid_logsumexp/edit_1/edit_1.cu:76:43: note: perform multiplication in a wider type
76 | const float* col_weight = &weight[col * input_size];
| ^~~
| static_cast<ptrdiff_t>( )
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_45/b4_s0_fused_gemm_sigmoid_logsumexp/edit_1/edit_1.cu:90:44: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
90 | for (int i = tid; i < batch_size; i += blockDim.x) {
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_45/b4_s0_fused_gemm_sigmoid_logsumexp/edit_1/edit_1.cu:98:44: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
98 | for (int i = tid; i < batch_size; i += blockDim.x) {
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_45/b4_s0_fused_gemm_sigmoid_logsumexp/edit_1/edit_1.cu:109:19: warning: the parameter 'input' is copied for each invocation but only used as a const reference; consider making it a const reference [performance-unnecessary-value-param]
109 | torch::Tensor input,
| ^
| const &
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_45/b4_s0_fused_gemm_sigmoid_logsumexp/edit_1/edit_1.cu:110: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]
110 | torch::Tensor weight,
| ^
| const &
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_45/b4_s0_fused_gemm_sigmoid_logsumexp/edit_1/edit_1.cu:111: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]
111 | torch::Tensor bias
| ^
| const &
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_45/b4_s0_fused_gemm_sigmoid_logsumexp/edit_1/edit_1.cu:113:28: warning: narrowing conversion from 'int64_t' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
113 | const int batch_size = input.size(0);
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_45/b4_s0_fused_gemm_sigmoid_logsumexp/edit_1/edit_1.cu:114:28: warning: narrowing conversion from 'int64_t' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
114 | const int input_size = input.size(1);
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_2/task_45/b4_s0_fused_gemm_sigmoid_logsumexp/edit_1/edit_1.cu:115:29: warning: narrowing conversion from 'int64_t' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
115 | const int hidden_size = weight.size(0);
| ^