20 | __global__ void warp_aligned_gemm_kernel(const float* __restrict__ x,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
21 | const float* __restrict__ weight,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
22 | const float* __restrict__ bias,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_80/b2_s3_warp_aligned_gemm_base/edit_1/edit_1.cu:20:68: note: the first parameter in the range is 'x'
20 | __global__ void warp_aligned_gemm_kernel(const float* __restrict__ x,
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_80/b2_s3_warp_aligned_gemm_base/edit_1/edit_1.cu:22:67: note: the last parameter in the range is 'bias'
22 | const float* __restrict__ bias,
| ^~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_80/b2_s3_warp_aligned_gemm_base/edit_1/edit_1.cu:29:25: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
29 | const int warp_id = threadIdx.x / WARP_SIZE;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_80/b2_s3_warp_aligned_gemm_base/edit_1/edit_1.cu:30:25: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
30 | const int lane_id = threadIdx.x % WARP_SIZE;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_80/b2_s3_warp_aligned_gemm_base/edit_1/edit_1.cu:32:21: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
32 | const int row = blockIdx.y * TILE_DIM + warp_id;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_80/b2_s3_warp_aligned_gemm_base/edit_1/edit_1.cu:33:21: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
33 | const int col = blockIdx.x * TILE_DIM + lane_id;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_80/b2_s3_warp_aligned_gemm_base/edit_1/edit_1.cu:70:39: warning: 3 adjacent parameters of 'warp_reduce_max_kernel' of similar type ('int') are easily swapped by mistake [bugprone-easily-swappable-parameters]
70 | int rows, int cols, int reduce_dim) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_80/b2_s3_warp_aligned_gemm_base/edit_1/edit_1.cu:70:43: note: the first parameter in the range is 'rows'
70 | int rows, int cols, int reduce_dim) {
| ^~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_80/b2_s3_warp_aligned_gemm_base/edit_1/edit_1.cu:70:63: note: the last parameter in the range is 'reduce_dim'
70 | int rows, int cols, int reduce_dim) {
| ^~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_80/b2_s3_warp_aligned_gemm_base/edit_1/edit_1.cu:73:21: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
73 | const int tid = threadIdx.x;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_80/b2_s3_warp_aligned_gemm_base/edit_1/edit_1.cu:81:25: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
81 | const int col = blockIdx.x * WARP_SIZE + lane_id;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_80/b2_s3_warp_aligned_gemm_base/edit_1/edit_1.cu:91:25: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
91 | const int row = blockIdx.x;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_80/b2_s3_warp_aligned_gemm_base/edit_1/edit_1.cu:121:44: warning: 2 adjacent parameters of 'warp_fused_mean_gelu_kernel' of similar type ('int') are easily swapped by mistake [bugprone-easily-swappable-parameters]
121 | int rows, int cols) {
| ^~~~~~~~~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_80/b2_s3_warp_aligned_gemm_base/edit_1/edit_1.cu:121:48: note: the first parameter in the range is 'rows'
121 | int rows, int cols) {
| ^~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_80/b2_s3_warp_aligned_gemm_base/edit_1/edit_1.cu:121:58: note: the last parameter in the range is 'cols'
121 | int rows, int cols) {
| ^~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_80/b2_s3_warp_aligned_gemm_base/edit_1/edit_1.cu:124:21: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
124 | const int row = blockIdx.x;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_80/b2_s3_warp_aligned_gemm_base/edit_1/edit_1.cu:125:21: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
125 | const int tid = threadIdx.x;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_80/b2_s3_warp_aligned_gemm_base/edit_1/edit_1.cu:132:44: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
132 | for (int col = tid; col < cols; col += blockDim.x) {
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_80/b2_s3_warp_aligned_gemm_base/edit_1/edit_1.cu:153:36: warning: narrowing conversion from 'int' to 'float' [bugprone-narrowing-conversions]
153 | warp_sums[0] = total_sum / cols; // Store mean
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_80/b2_s3_warp_aligned_gemm_base/edit_1/edit_1.cu:159:44: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
159 | for (int col = tid; col < cols; col += blockDim.x) {
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_80/b2_s3_warp_aligned_gemm_base/edit_1/edit_1.cu:165:37: 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]
165 | torch::Tensor forward(torch::Tensor x, int max_dim, torch::Tensor weight, torch::Tensor bias) {
| ^
| const &
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_80/b2_s3_warp_aligned_gemm_base/edit_1/edit_1.cu:165:67: 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]
165 | torch::Tensor forward(torch::Tensor x, int max_dim, torch::Tensor weight, torch::Tensor bias) {
| ^
| const &
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_80/b2_s3_warp_aligned_gemm_base/edit_1/edit_1.cu:165:89: 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]
165 | torch::Tensor forward(torch::Tensor x, int max_dim, torch::Tensor weight, torch::Tensor bias) {
| ^
| const &
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_80/b2_s3_warp_aligned_gemm_base/edit_1/edit_1.cu:166:23: warning: narrowing conversion from 'int64_t' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
166 | const int batch = x.size(0);
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_80/b2_s3_warp_aligned_gemm_base/edit_1/edit_1.cu:167:29: warning: narrowing conversion from 'int64_t' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
167 | const int in_features = x.size(1);
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_80/b2_s3_warp_aligned_gemm_base/edit_1/edit_1.cu:168:30: warning: narrowing conversion from 'int64_t' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
168 | const int out_features = weight.size(0);
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_80/b2_s3_warp_aligned_gemm_base/edit_1/edit_1.cu:187:15: warning: Value stored to 'rows' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
187 | const int rows = (max_dim == 0) ? batch : 1;
| ^~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_80/b2_s3_warp_aligned_gemm_base/edit_1/edit_1.cu:187:15: note: Value stored to 'rows' during its initialization is never read
187 | const int rows = (max_dim == 0) ? batch : 1;
| ^~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_80/b2_s3_warp_aligned_gemm_base/edit_1/edit_1.cu:196:28: warning: narrowing conversion from 'int64_t' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
196 | const int final_rows = max_out.size(0);
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_80/b2_s3_warp_aligned_gemm_base/edit_1/edit_1.cu:197:28: warning: narrowing conversion from 'int64_t' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
197 | const int final_cols = max_out.size(1);
| ^