10 | const float* __restrict__ x,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
11 | const float* __restrict__ weight,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
12 | const float* __restrict__ bias,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_12/b10_s0_optimized_thread_block_indexing_gemm/base/base.cu:10:31: note: the first parameter in the range is 'x'
10 | const float* __restrict__ x,
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_12/b10_s0_optimized_thread_block_indexing_gemm/base/base.cu:12:31: note: the last parameter in the range is 'bias'
12 | const float* __restrict__ bias,
| ^~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_12/b10_s0_optimized_thread_block_indexing_gemm/base/base.cu:16:5: warning: 2 adjacent parameters of 'module_fn_kernel_optimized_indexing' of convertible types are easily swapped by mistake [bugprone-easily-swappable-parameters]
16 | const int out_features,
| ^~~~~~~~~~~~~~~~~~~~~~~
17 | const float multiplier,
| ~~~~~~~~~~~~~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_12/b10_s0_optimized_thread_block_indexing_gemm/base/base.cu:16:15: note: the first parameter in the range is 'out_features'
16 | const int out_features,
| ^~~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_12/b10_s0_optimized_thread_block_indexing_gemm/base/base.cu:17:17: note: the last parameter in the range is 'multiplier'
17 | const float multiplier,
| ^~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_12/b10_s0_optimized_thread_block_indexing_gemm/base/base.cu:17:5: note: 'const int' and 'const float' may be implicitly converted: 'const int' (as 'int') -> 'const float' (as 'float'), 'const float' (as 'float') -> 'const int' (as 'int')
17 | const float multiplier,
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_12/b10_s0_optimized_thread_block_indexing_gemm/base/base.cu:22:26: 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]
22 | float* weight_tile = tile_data + TILE_SIZE * TILE_SIZE;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_12/b10_s0_optimized_thread_block_indexing_gemm/base/base.cu:22:38: note: make conversion explicit to silence this warning
22 | float* weight_tile = tile_data + TILE_SIZE * TILE_SIZE;
| ^
| static_cast<ptrdiff_t>( )
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_12/b10_s0_optimized_thread_block_indexing_gemm/base/base.cu:6:19: note: expanded from macro 'TILE_SIZE'
6 | #define TILE_SIZE 16
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_12/b10_s0_optimized_thread_block_indexing_gemm/base/base.cu:22:38: note: perform multiplication in a wider type
22 | float* weight_tile = tile_data + TILE_SIZE * TILE_SIZE;
| ^
| static_cast<ptrdiff_t>( )
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_12/b10_s0_optimized_thread_block_indexing_gemm/base/base.cu:6:19: note: expanded from macro 'TILE_SIZE'
6 | #define TILE_SIZE 16
| ^~
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_12/b10_s0_optimized_thread_block_indexing_gemm/base/base.cu:25:14: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
25 | int tx = threadIdx.x;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_12/b10_s0_optimized_thread_block_indexing_gemm/base/base.cu:26:14: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
26 | int ty = threadIdx.y;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_12/b10_s0_optimized_thread_block_indexing_gemm/base/base.cu:29:15: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
29 | int row = blockIdx.x * TILE_SIZE + tx; // i index for batch
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_12/b10_s0_optimized_thread_block_indexing_gemm/base/base.cu:30:15: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
30 | int col = blockIdx.y * TILE_SIZE + ty; // j index for out_features
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_12/b10_s0_optimized_thread_block_indexing_gemm/base/base.cu:68: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]
68 | torch::Tensor x,
| ^
| const &
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_12/b10_s0_optimized_thread_block_indexing_gemm/base/base.cu:71: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]
71 | torch::Tensor weight,
| ^
| const &
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_12/b10_s0_optimized_thread_block_indexing_gemm/base/base.cu:72: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]
72 | torch::Tensor bias
| ^
| const &
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_12/b10_s0_optimized_thread_block_indexing_gemm/base/base.cu:78:28: warning: narrowing conversion from 'int64_t' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
78 | const int batch_size = x.size(0);
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_12/b10_s0_optimized_thread_block_indexing_gemm/base/base.cu:79:29: warning: narrowing conversion from 'int64_t' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
79 | const int in_features = x.size(1);
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_12/b10_s0_optimized_thread_block_indexing_gemm/base/base.cu:80:30: warning: narrowing conversion from 'int64_t' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
80 | const int out_features = weight.size(0);
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_12/b10_s0_optimized_thread_block_indexing_gemm/base/base.cu:91:30: warning: performing an implicit widening conversion to type 'unsigned long' of a multiplication performed in type 'int' [bugprone-implicit-widening-of-multiplication-result]
91 | size_t shared_mem_size = TILE_SIZE * TILE_SIZE * sizeof(float) * 2;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_12/b10_s0_optimized_thread_block_indexing_gemm/base/base.cu:6:19: note: expanded from macro 'TILE_SIZE'
6 | #define TILE_SIZE 16
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_12/b10_s0_optimized_thread_block_indexing_gemm/base/base.cu:91:30: note: make conversion explicit to silence this warning
91 | size_t shared_mem_size = TILE_SIZE * TILE_SIZE * sizeof(float) * 2;
| ^
| static_cast<unsigned long>( )
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_12/b10_s0_optimized_thread_block_indexing_gemm/base/base.cu:6:19: note: expanded from macro 'TILE_SIZE'
6 | #define TILE_SIZE 16
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_12/b10_s0_optimized_thread_block_indexing_gemm/base/base.cu:91:30: note: perform multiplication in a wider type
91 | size_t shared_mem_size = TILE_SIZE * TILE_SIZE * sizeof(float) * 2;
| ^
| static_cast<long>( )
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_2/task_12/b10_s0_optimized_thread_block_indexing_gemm/base/base.cu:6:19: note: expanded from macro 'TILE_SIZE'
6 | #define TILE_SIZE 16
| ^~