8 | #define CHECK_CUDA(x) TORCH_CHECK(x.is_cuda(), #x " must be a CUDA tensor.")
| ^
| ()
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_21/b4_s1_fused_sigmoid_groupnorm/base/base.cu:9:41: warning: macro argument should be enclosed in parentheses [bugprone-macro-parentheses]
9 | #define CHECK_CONTIGUOUS(x) TORCH_CHECK(x.is_contiguous(), #x " must be contiguous.")
| ^
| ()
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_21/b4_s1_fused_sigmoid_groupnorm/base/base.cu:23:5: warning: 4 adjacent parameters of 'fused_elemwise_groupnorm_kernel' of similar type ('const float *__restrict') are easily swapped by mistake [bugprone-easily-swappable-parameters]
23 | const float* __restrict__ bias,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24 | const float* __restrict__ scale,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25 | const float* __restrict__ gn_weight,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
26 | const float* __restrict__ gn_bias,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_21/b4_s1_fused_sigmoid_groupnorm/base/base.cu:23:31: note: the first parameter in the range is 'bias'
23 | const float* __restrict__ bias,
| ^~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_21/b4_s1_fused_sigmoid_groupnorm/base/base.cu:26:31: note: the last parameter in the range is 'gn_bias'
26 | const float* __restrict__ gn_bias,
| ^~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_21/b4_s1_fused_sigmoid_groupnorm/base/base.cu:27:5: warning: 2 adjacent parameters of 'fused_elemwise_groupnorm_kernel' of similar type ('int') are easily swapped by mistake [bugprone-easily-swappable-parameters]
27 | int N, int C, int H, int W,
| ^~~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_21/b4_s1_fused_sigmoid_groupnorm/base/base.cu:27:9: note: the first parameter in the range is 'N'
27 | int N, int C, int H, int W,
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_21/b4_s1_fused_sigmoid_groupnorm/base/base.cu:27:16: note: the last parameter in the range is 'C'
27 | int N, int C, int H, int W,
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_21/b4_s1_fused_sigmoid_groupnorm/base/base.cu:27:26: warning: 2 adjacent parameters of 'fused_elemwise_groupnorm_kernel' of similar type ('int') are easily swapped by mistake [bugprone-easily-swappable-parameters]
27 | int N, int C, int H, int W,
| ^~~~~~
28 | int num_groups,
| ~~~~~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_21/b4_s1_fused_sigmoid_groupnorm/base/base.cu:27:30: note: the first parameter in the range is 'W'
27 | int N, int C, int H, int W,
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_21/b4_s1_fused_sigmoid_groupnorm/base/base.cu:28:9: note: the last parameter in the range is 'num_groups'
28 | int num_groups,
| ^~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_21/b4_s1_fused_sigmoid_groupnorm/base/base.cu:34:20: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
34 | int block_id = blockIdx.x; // block id runs from 0 to N*num_groups-1
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_21/b4_s1_fused_sigmoid_groupnorm/base/base.cu:48:15: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
48 | int tid = threadIdx.x;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_21/b4_s1_fused_sigmoid_groupnorm/base/base.cu:49:18: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
49 | int stride = blockDim.x;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_21/b4_s1_fused_sigmoid_groupnorm/base/base.cu:77:18: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
77 | for (int s = blockDim.x / 2; s > 0; s >>= 1) {
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_21/b4_s1_fused_sigmoid_groupnorm/base/base.cu:86:34: warning: narrowing conversion from 'int' to 'float' [bugprone-narrowing-conversions]
86 | float mean = shared_sum[0] / group_size;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_21/b4_s1_fused_sigmoid_groupnorm/base/base.cu:87:41: warning: narrowing conversion from 'int' to 'float' [bugprone-narrowing-conversions]
87 | float variance = shared_sum_sq[0] / group_size - mean * mean;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_21/b4_s1_fused_sigmoid_groupnorm/base/base.cu:114: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]
114 | at::Tensor x,
| ^
| const &
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_21/b4_s1_fused_sigmoid_groupnorm/base/base.cu:115: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]
115 | at::Tensor bias,
| ^
| const &
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_21/b4_s1_fused_sigmoid_groupnorm/base/base.cu:116:16: warning: the parameter 'scale' is copied for each invocation but only used as a const reference; consider making it a const reference [performance-unnecessary-value-param]
116 | at::Tensor scale,
| ^
| const &
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_21/b4_s1_fused_sigmoid_groupnorm/base/base.cu:117:16: warning: the parameter 'y' is copied for each invocation but only used as a const reference; consider making it a const reference [performance-unnecessary-value-param]
117 | at::Tensor y,
| ^
| const &
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_21/b4_s1_fused_sigmoid_groupnorm/base/base.cu:118:16: warning: the parameter 'gn_weight' is copied for each invocation but only used as a const reference; consider making it a const reference [performance-unnecessary-value-param]
118 | at::Tensor gn_weight,
| ^
| const &
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_21/b4_s1_fused_sigmoid_groupnorm/base/base.cu:119:16: warning: the parameter 'gn_bias' is copied for each invocation but only used as a const reference; consider making it a const reference [performance-unnecessary-value-param]
119 | at::Tensor gn_bias,
| ^
| const &
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_21/b4_s1_fused_sigmoid_groupnorm/base/base.cu:125:19: warning: narrowing conversion from 'int64_t' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
125 | const int N = x.size(0);
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_21/b4_s1_fused_sigmoid_groupnorm/base/base.cu:126:19: warning: narrowing conversion from 'int64_t' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
126 | const int C = x.size(1);
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_21/b4_s1_fused_sigmoid_groupnorm/base/base.cu:127:19: warning: narrowing conversion from 'int64_t' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
127 | const int H = x.size(2);
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_21/b4_s1_fused_sigmoid_groupnorm/base/base.cu:128:19: warning: narrowing conversion from 'int64_t' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
128 | const int W = x.size(3);
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_21/b4_s1_fused_sigmoid_groupnorm/base/base.cu:131:24: warning: narrowing conversion from 'int64_t' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
131 | const int blocks = N * num_groups; // one block per group per sample
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_21/b4_s1_fused_sigmoid_groupnorm/base/base.cu:132:33: warning: performing an implicit widening conversion to type 'unsigned long' of a multiplication performed in type 'int' [bugprone-implicit-widening-of-multiplication-result]
132 | const int shared_mem_size = 2 * threads * sizeof(float);
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_21/b4_s1_fused_sigmoid_groupnorm/base/base.cu:132:33: note: make conversion explicit to silence this warning
6 | const int shared_mem_size = 2 * threads * sizeof(float);
| ^~~~~~~~~~~
| static_cast<unsigned long>( )
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_21/b4_s1_fused_sigmoid_groupnorm/base/base.cu:132:33: note: perform multiplication in a wider type
132 | const int shared_mem_size = 2 * threads * sizeof(float);
| ^
| static_cast<long>( )
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_21/b4_s1_fused_sigmoid_groupnorm/base/base.cu:142:9: warning: narrowing conversion from 'int64_t' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
142 | num_groups,
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_21/b4_s1_fused_sigmoid_groupnorm/base/base.cu:156:16: warning: the parameter 'conv_weight' is copied for each invocation but only used as a const reference; consider making it a const reference [performance-unnecessary-value-param]
156 | at::Tensor conv_weight,
| ^
| const &
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_21/b4_s1_fused_sigmoid_groupnorm/base/base.cu:158: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]
158 | at::Tensor bias,
| ^
| const &
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_21/b4_s1_fused_sigmoid_groupnorm/base/base.cu:159:16: warning: the parameter 'scale' is copied for each invocation but only used as a const reference; consider making it a const reference [performance-unnecessary-value-param]
159 | at::Tensor scale,
| ^
| const &
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_21/b4_s1_fused_sigmoid_groupnorm/base/base.cu:160:16: warning: the parameter 'gn_weight' is copied for each invocation but only used as a const reference; consider making it a const reference [performance-unnecessary-value-param]
160 | at::Tensor gn_weight,
| ^
| const &
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_21/b4_s1_fused_sigmoid_groupnorm/base/base.cu:161:16: warning: the parameter 'gn_bias' is copied for each invocation but only used as a const reference; consider making it a const reference [performance-unnecessary-value-param]
161 | at::Tensor gn_bias,
| ^
| const &