10 | __global__ void conv2d_atomic_kernel(const float* input, const float* weight, const float* bias,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_11/b9_s2_vgg16_streams_overlap/base/base.cu:10:51: note: the first parameter in the range is 'input'
10 | __global__ void conv2d_atomic_kernel(const float* input, const float* weight, const float* bias,
| ^~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_11/b9_s2_vgg16_streams_overlap/base/base.cu:10:92: note: the last parameter in the range is 'bias'
10 | __global__ void conv2d_atomic_kernel(const float* input, const float* weight, const float* bias,
| ^~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_11/b9_s2_vgg16_streams_overlap/base/base.cu:11:54: warning: 2 adjacent parameters of 'conv2d_atomic_kernel' of similar type ('int') are easily swapped by mistake [bugprone-easily-swappable-parameters]
11 | float* output, int N, int C, int H, int W,
| ^~~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_11/b9_s2_vgg16_streams_overlap/base/base.cu:11:58: note: the first parameter in the range is 'N'
11 | float* output, int N, int C, int H, int W,
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_11/b9_s2_vgg16_streams_overlap/base/base.cu:11:65: note: the last parameter in the range is 'C'
11 | float* output, int N, int C, int H, int W,
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_11/b9_s2_vgg16_streams_overlap/base/base.cu:12:39: warning: 3 adjacent parameters of 'conv2d_atomic_kernel' of similar type ('int') are easily swapped by mistake [bugprone-easily-swappable-parameters]
12 | int K, int P, int stride) {
| ^~~~~~~~~~~~~~~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_11/b9_s2_vgg16_streams_overlap/base/base.cu:12:43: note: the first parameter in the range is 'K'
12 | int K, int P, int stride) {
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_11/b9_s2_vgg16_streams_overlap/base/base.cu:12:57: note: the last parameter in the range is 'stride'
12 | int K, int P, int stride) {
| ^~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_11/b9_s2_vgg16_streams_overlap/base/base.cu:14:12: warning: Value stored to 'tile' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
14 | float* tile = shared_mem;
| ^~~~ ~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_11/b9_s2_vgg16_streams_overlap/base/base.cu:14:12: note: Value stored to 'tile' during its initialization is never read
14 | float* tile = shared_mem;
| ^~~~ ~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_11/b9_s2_vgg16_streams_overlap/base/base.cu:16:13: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
16 | int n = blockIdx.z;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_11/b9_s2_vgg16_streams_overlap/base/base.cu:17:13: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
17 | int k = blockIdx.y;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_11/b9_s2_vgg16_streams_overlap/base/base.cu:18:13: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
18 | int h = blockIdx.x * TILE_SIZE + threadIdx.y;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_11/b9_s2_vgg16_streams_overlap/base/base.cu:19:13: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
19 | int w = threadIdx.x;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_11/b9_s2_vgg16_streams_overlap/base/base.cu:51: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]
51 | torch::Tensor x,
| ^
| const &
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_11/b9_s2_vgg16_streams_overlap/base/base.cu:53:5: warning: 2 adjacent parameters of 'optimized_vgg16_forward_cuda' of similar type ('std::vector<torch::Tensor>') are easily swapped by mistake [bugprone-easily-swappable-parameters]
53 | std::vector<torch::Tensor> conv_biases,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
54 | std::vector<torch::Tensor> fc_weights,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_11/b9_s2_vgg16_streams_overlap/base/base.cu:53:32: note: the first parameter in the range is 'conv_biases'
53 | std::vector<torch::Tensor> conv_biases,
| ^~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_11/b9_s2_vgg16_streams_overlap/base/base.cu:54:32: note: the last parameter in the range is 'fc_weights'
54 | std::vector<torch::Tensor> fc_weights,
| ^~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_11/b9_s2_vgg16_streams_overlap/base/base.cu:58:19: warning: narrowing conversion from 'int64_t' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
58 | const int N = x.size(0);
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_11/b9_s2_vgg16_streams_overlap/base/base.cu:59:19: warning: narrowing conversion from 'int64_t' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
59 | const int C = x.size(1);
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_11/b9_s2_vgg16_streams_overlap/base/base.cu:60:19: warning: narrowing conversion from 'int64_t' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
60 | const int H = x.size(2);
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_11/b9_s2_vgg16_streams_overlap/base/base.cu:61:19: warning: narrowing conversion from 'int64_t' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
61 | const int W = x.size(3);
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_11/b9_s2_vgg16_streams_overlap/base/base.cu:62:19: warning: narrowing conversion from 'int64_t' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
62 | const int K = conv_weights[0].size(0);
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_11/b9_s2_vgg16_streams_overlap/base/base.cu:63:19: warning: narrowing conversion from 'int64_t' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
63 | const int P = conv_weights[0].size(2) / 2;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_11/b9_s2_vgg16_streams_overlap/base/base.cu:70:30: warning: performing an implicit widening conversion to type 'unsigned long' of a multiplication performed in type 'int' [bugprone-implicit-widening-of-multiplication-result]
70 | size_t shared_mem_size = TILE_SIZE * TILE_SIZE * sizeof(float);
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_11/b9_s2_vgg16_streams_overlap/base/base.cu:7:19: note: expanded from macro 'TILE_SIZE'
7 | #define TILE_SIZE 16
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_11/b9_s2_vgg16_streams_overlap/base/base.cu:70:30: note: make conversion explicit to silence this warning
70 | size_t shared_mem_size = TILE_SIZE * TILE_SIZE * sizeof(float);
| ^
| static_cast<unsigned long>( )
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_11/b9_s2_vgg16_streams_overlap/base/base.cu:7:19: note: expanded from macro 'TILE_SIZE'
7 | #define TILE_SIZE 16
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_11/b9_s2_vgg16_streams_overlap/base/base.cu:70:30: note: perform multiplication in a wider type
70 | size_t shared_mem_size = TILE_SIZE * TILE_SIZE * sizeof(float);
| ^
| static_cast<long>( )
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_11/b9_s2_vgg16_streams_overlap/base/base.cu:7:19: note: expanded from macro 'TILE_SIZE'
7 | #define TILE_SIZE 16
| ^~