9 | const float* __restrict__ x, // [B*N, D]
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
10 | const float* __restrict__ clusters, // [D, K]
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
11 | const float* __restrict__ bn_weight, // [K]
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_46/b10_s1_shared_memory_netvlad_optimized/base/base.cu:9:31: note: the first parameter in the range is 'x'
9 | const float* __restrict__ x, // [B*N, D]
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_46/b10_s1_shared_memory_netvlad_optimized/base/base.cu:11:31: note: the last parameter in the range is 'bn_weight'
11 | const float* __restrict__ bn_weight, // [K]
| ^~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_46/b10_s1_shared_memory_netvlad_optimized/base/base.cu:16:12: warning: 2 adjacent parameters of 'shared_memory_assignment_kernel' of convertible types are easily swapped by mistake [bugprone-easily-swappable-parameters]
16 | int D, int K, float eps) {
| ^~~~~~~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_46/b10_s1_shared_memory_netvlad_optimized/base/base.cu:16:16: note: the first parameter in the range is 'K'
16 | int D, int K, float eps) {
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_46/b10_s1_shared_memory_netvlad_optimized/base/base.cu:16:25: note: the last parameter in the range is 'eps'
16 | int D, int K, float eps) {
| ^~~
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_46/b10_s1_shared_memory_netvlad_optimized/base/base.cu:16:19: note: 'int' and 'float' may be implicitly converted
16 | int D, int K, float eps) {
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_46/b10_s1_shared_memory_netvlad_optimized/base/base.cu:21:18: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
21 | for (int i = threadIdx.x; i < D * K; i += blockDim.x) {
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_46/b10_s1_shared_memory_netvlad_optimized/base/base.cu:21:47: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
21 | for (int i = threadIdx.x; i < D * K; i += blockDim.x) {
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_46/b10_s1_shared_memory_netvlad_optimized/base/base.cu:26:15: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
26 | int row = blockIdx.x;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_46/b10_s1_shared_memory_netvlad_optimized/base/base.cu:27:15: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
27 | int tid = threadIdx.x;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_46/b10_s1_shared_memory_netvlad_optimized/base/base.cu:30:35: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
30 | for (int j = tid; j < K; j += blockDim.x) {
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_46/b10_s1_shared_memory_netvlad_optimized/base/base.cu:45:19: warning: the parameter 'clusters' is copied for each invocation but only used as a const reference; consider making it a const reference [performance-unnecessary-value-param]
45 | torch::Tensor clusters,
| ^
| const &
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_46/b10_s1_shared_memory_netvlad_optimized/base/base.cu:46:5: warning: 2 adjacent parameters of 'forward' of similar type ('torch::Tensor') are easily swapped by mistake [bugprone-easily-swappable-parameters]
46 | torch::Tensor clusters2,
| ^~~~~~~~~~~~~~~~~~~~~~~~
47 | torch::Tensor bn_weight,
| ~~~~~~~~~~~~~~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_46/b10_s1_shared_memory_netvlad_optimized/base/base.cu:46:19: note: the first parameter in the range is 'clusters2'
46 | torch::Tensor clusters2,
| ^~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_46/b10_s1_shared_memory_netvlad_optimized/base/base.cu:47:19: note: the last parameter in the range is 'bn_weight'
47 | torch::Tensor bn_weight,
| ^~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_46/b10_s1_shared_memory_netvlad_optimized/base/base.cu:46:19: warning: the parameter 'clusters2' is copied for each invocation but only used as a const reference; consider making it a const reference [performance-unnecessary-value-param]
46 | torch::Tensor clusters2,
| ^
| const &
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_46/b10_s1_shared_memory_netvlad_optimized/base/base.cu:52:5: warning: 2 adjacent parameters of 'forward' of similar type ('int64_t') are easily swapped by mistake [bugprone-easily-swappable-parameters]
52 | int64_t cluster_size,
| ^~~~~~~~~~~~~~~~~~~~~
53 | int64_t feature_size
| ~~~~~~~~~~~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_46/b10_s1_shared_memory_netvlad_optimized/base/base.cu:52:13: note: the first parameter in the range is 'cluster_size'
52 | int64_t cluster_size,
| ^~~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_46/b10_s1_shared_memory_netvlad_optimized/base/base.cu:53:13: note: the last parameter in the range is 'feature_size'
53 | int64_t feature_size
| ^~~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_46/b10_s1_shared_memory_netvlad_optimized/base/base.cu:69:22: warning: narrowing conversion from 'int64_t' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
69 | int blocks = B * N;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_46/b10_s1_shared_memory_netvlad_optimized/base/base.cu:80:13: warning: narrowing conversion from 'int64_t' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
80 | D, clusters.size(1), 1e-5f
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250203_optimize_b10_s4_e0_sweep/level_3/task_46/b10_s1_shared_memory_netvlad_optimized/base/base.cu:80:16: warning: narrowing conversion from 'int64_t' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
80 | D, clusters.size(1), 1e-5f
| ^