8 | const float* __restrict__ A,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
9 | const float* __restrict__ B,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_1/task_3/b5_s2_bmm_tiled_shared_memory_optimized/edit_1/edit_1.cu:8:31: note: the first parameter in the range is 'A'
8 | const float* __restrict__ A,
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_1/task_3/b5_s2_bmm_tiled_shared_memory_optimized/edit_1/edit_1.cu:9:31: note: the last parameter in the range is 'B'
9 | const float* __restrict__ B,
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_1/task_3/b5_s2_bmm_tiled_shared_memory_optimized/edit_1/edit_1.cu:11:5: warning: 2 adjacent parameters of 'bmm_tiled_shared_memory_kernel' of similar type ('int') are easily swapped by mistake [bugprone-easily-swappable-parameters]
11 | int batch_size,
| ^~~~~~~~~~~~~~~
12 | int M,
| ~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_1/task_3/b5_s2_bmm_tiled_shared_memory_optimized/edit_1/edit_1.cu:11:9: note: the first parameter in the range is 'batch_size'
11 | int batch_size,
| ^~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_1/task_3/b5_s2_bmm_tiled_shared_memory_optimized/edit_1/edit_1.cu:12:9: note: the last parameter in the range is 'M'
12 | int M,
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_1/task_3/b5_s2_bmm_tiled_shared_memory_optimized/edit_1/edit_1.cu:19:20: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
19 | const int bx = blockIdx.x;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_1/task_3/b5_s2_bmm_tiled_shared_memory_optimized/edit_1/edit_1.cu:20:20: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
20 | const int by = blockIdx.y;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_1/task_3/b5_s2_bmm_tiled_shared_memory_optimized/edit_1/edit_1.cu:21:20: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
21 | const int bz = blockIdx.z;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_1/task_3/b5_s2_bmm_tiled_shared_memory_optimized/edit_1/edit_1.cu:22:20: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
22 | const int tx = threadIdx.x;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_1/task_3/b5_s2_bmm_tiled_shared_memory_optimized/edit_1/edit_1.cu:23:20: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
23 | const int ty = threadIdx.y;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_1/task_3/b5_s2_bmm_tiled_shared_memory_optimized/edit_1/edit_1.cu:35:9: warning: Value stored to 'a_col' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
35 | int a_col = tx;
| ^~~~~ ~~
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_1/task_3/b5_s2_bmm_tiled_shared_memory_optimized/edit_1/edit_1.cu:35:9: note: Value stored to 'a_col' during its initialization is never read
35 | int a_col = tx;
| ^~~~~ ~~
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_1/task_3/b5_s2_bmm_tiled_shared_memory_optimized/edit_1/edit_1.cu:36:9: warning: Value stored to 'b_row' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
36 | int b_row = ty;
| ^~~~~ ~~
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_1/task_3/b5_s2_bmm_tiled_shared_memory_optimized/edit_1/edit_1.cu:36:9: note: Value stored to 'b_row' during its initialization is never read
36 | int b_row = ty;
| ^~~~~ ~~
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_1/task_3/b5_s2_bmm_tiled_shared_memory_optimized/edit_1/edit_1.cu:69:55: warning: the parameter 'A' is copied for each invocation but only used as a const reference; consider making it a const reference [performance-unnecessary-value-param]
69 | torch::Tensor forward_bmm_shared_memory(torch::Tensor A, torch::Tensor B) {
| ^
| const &
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_1/task_3/b5_s2_bmm_tiled_shared_memory_optimized/edit_1/edit_1.cu:69:72: warning: the parameter 'B' is copied for each invocation but only used as a const reference; consider making it a const reference [performance-unnecessary-value-param]
69 | torch::Tensor forward_bmm_shared_memory(torch::Tensor A, torch::Tensor B) {
| ^
| const &
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_1/task_3/b5_s2_bmm_tiled_shared_memory_optimized/edit_1/edit_1.cu:77:22: warning: narrowing conversion from 'int64_t' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
77 | int batch_size = A.size(0);
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_1/task_3/b5_s2_bmm_tiled_shared_memory_optimized/edit_1/edit_1.cu:78:13: warning: narrowing conversion from 'int64_t' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
78 | int M = A.size(1);
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_1/task_3/b5_s2_bmm_tiled_shared_memory_optimized/edit_1/edit_1.cu:79:13: warning: narrowing conversion from 'int64_t' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
79 | int K = A.size(2);
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250207_optimize_b5_s4_e1_sweep/level_1/task_3/b5_s2_bmm_tiled_shared_memory_optimized/edit_1/edit_1.cu:80:13: warning: narrowing conversion from 'int64_t' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
80 | int N = B.size(2);
| ^