13 | const float* __restrict__ predictions,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
14 | const float* __restrict__ targets,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250202_optimize_b10_s4_e0_sweep/level_1/task_97/b10_s3_strided_cosine_loss_base/base/base.cu:13:31: note: the first parameter in the range is 'predictions'
13 | const float* __restrict__ predictions,
| ^~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250202_optimize_b10_s4_e0_sweep/level_1/task_97/b10_s3_strided_cosine_loss_base/base/base.cu:14:31: note: the last parameter in the range is 'targets'
14 | const float* __restrict__ targets,
| ^~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250202_optimize_b10_s4_e0_sweep/level_1/task_97/b10_s3_strided_cosine_loss_base/base/base.cu:16:5: warning: 2 adjacent parameters of 'strided_cosine_similarity_loss_kernel' of similar type ('const int') are easily swapped by mistake [bugprone-easily-swappable-parameters]
16 | const int N,
| ^~~~~~~~~~~~
17 | const int D
| ~~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250202_optimize_b10_s4_e0_sweep/level_1/task_97/b10_s3_strided_cosine_loss_base/base/base.cu:16:15: note: the first parameter in the range is 'N'
16 | const int N,
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250202_optimize_b10_s4_e0_sweep/level_1/task_97/b10_s3_strided_cosine_loss_base/base/base.cu:17:15: note: the last parameter in the range is 'D'
17 | const int D
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250202_optimize_b10_s4_e0_sweep/level_1/task_97/b10_s3_strided_cosine_loss_base/base/base.cu:19:21: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
19 | const int row = blockIdx.x;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250202_optimize_b10_s4_e0_sweep/level_1/task_97/b10_s3_strided_cosine_loss_base/base/base.cu:20:21: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
20 | const int tid = threadIdx.x;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250202_optimize_b10_s4_e0_sweep/level_1/task_97/b10_s3_strided_cosine_loss_base/base/base.cu:23:33: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
23 | const int warps_per_block = blockDim.x / warpSize;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250202_optimize_b10_s4_e0_sweep/level_1/task_97/b10_s3_strided_cosine_loss_base/base/base.cu:28:15: warning: Value stored to 'D_remainder' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
28 | const int D_remainder = D % vec_size;
| ^~~~~~~~~~~ ~~~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250202_optimize_b10_s4_e0_sweep/level_1/task_97/b10_s3_strided_cosine_loss_base/base/base.cu:28:15: note: Value stored to 'D_remainder' during its initialization is never read
28 | const int D_remainder = D % vec_size;
| ^~~~~~~~~~~ ~~~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250202_optimize_b10_s4_e0_sweep/level_1/task_97/b10_s3_strided_cosine_loss_base/base/base.cu:31:15: warning: Value stored to 'stride' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
31 | const int stride = (D_vec + blockDim.x - 1) / blockDim.x * vec_size;
| ^~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250202_optimize_b10_s4_e0_sweep/level_1/task_97/b10_s3_strided_cosine_loss_base/base/base.cu:31:15: note: Value stored to 'stride' during its initialization is never read
31 | const int stride = (D_vec + blockDim.x - 1) / blockDim.x * vec_size;
| ^~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250202_optimize_b10_s4_e0_sweep/level_1/task_97/b10_s3_strided_cosine_loss_base/base/base.cu:31:24: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
31 | const int stride = (D_vec + blockDim.x - 1) / blockDim.x * vec_size;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250202_optimize_b10_s4_e0_sweep/level_1/task_97/b10_s3_strided_cosine_loss_base/base/base.cu:38:62: 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]
38 | const float4* pred_vec = reinterpret_cast<const float4*>(predictions + row * D);
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250202_optimize_b10_s4_e0_sweep/level_1/task_97/b10_s3_strided_cosine_loss_base/base/base.cu:38:76: note: make conversion explicit to silence this warning
4 | const float4* pred_vec = reinterpret_cast<const float4*>(predictions + row * D);
| ^~~~~~~
| static_cast<ptrdiff_t>( )
/home/robert_sakana_ai/llm_cuda/experiments/20250202_optimize_b10_s4_e0_sweep/level_1/task_97/b10_s3_strided_cosine_loss_base/base/base.cu:38:76: note: perform multiplication in a wider type
38 | const float4* pred_vec = reinterpret_cast<const float4*>(predictions + row * D);
| ^~~
| static_cast<ptrdiff_t>( )
/home/robert_sakana_ai/llm_cuda/experiments/20250202_optimize_b10_s4_e0_sweep/level_1/task_97/b10_s3_strided_cosine_loss_base/base/base.cu:39:62: 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]
39 | const float4* targ_vec = reinterpret_cast<const float4*>(targets + row * D);
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250202_optimize_b10_s4_e0_sweep/level_1/task_97/b10_s3_strided_cosine_loss_base/base/base.cu:39:72: note: make conversion explicit to silence this warning
39 | const float4* targ_vec = reinterpret_cast<const float4*>(targets + row * D);
| ^~~~~~~
| static_cast<ptrdiff_t>( )
/home/robert_sakana_ai/llm_cuda/experiments/20250202_optimize_b10_s4_e0_sweep/level_1/task_97/b10_s3_strided_cosine_loss_base/base/base.cu:39:72: note: perform multiplication in a wider type
39 | const float4* targ_vec = reinterpret_cast<const float4*>(targets + row * D);
| ^~~
| static_cast<ptrdiff_t>( )
/home/robert_sakana_ai/llm_cuda/experiments/20250202_optimize_b10_s4_e0_sweep/level_1/task_97/b10_s3_strided_cosine_loss_base/base/base.cu:42:45: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
42 | for (int idx = tid; idx < D_vec; idx += blockDim.x) {
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250202_optimize_b10_s4_e0_sweep/level_1/task_97/b10_s3_strided_cosine_loss_base/base/base.cu:57:53: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
57 | for (int idx = rem_start + tid; idx < D; idx += blockDim.x) {
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250202_optimize_b10_s4_e0_sweep/level_1/task_97/b10_s3_strided_cosine_loss_base/base/base.cu:99:50: warning: narrowing conversion from 'int' to 'float' [bugprone-narrowing-conversions]
99 | atomicAdd(output, (1.0f - cos_sim) / N);
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250202_optimize_b10_s4_e0_sweep/level_1/task_97/b10_s3_strided_cosine_loss_base/base/base.cu:105:19: warning: the parameter 'predictions' is copied for each invocation but only used as a const reference; consider making it a const reference [performance-unnecessary-value-param]
105 | torch::Tensor predictions,
| ^
| const &
/home/robert_sakana_ai/llm_cuda/experiments/20250202_optimize_b10_s4_e0_sweep/level_1/task_97/b10_s3_strided_cosine_loss_base/base/base.cu:106:19: warning: the parameter 'targets' is copied for each invocation but only used as a const reference; consider making it a const reference [performance-unnecessary-value-param]
106 | torch::Tensor targets
| ^
| const &
/home/robert_sakana_ai/llm_cuda/experiments/20250202_optimize_b10_s4_e0_sweep/level_1/task_97/b10_s3_strided_cosine_loss_base/base/base.cu:114:13: warning: narrowing conversion from 'int64_t' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
114 | int N = predictions.size(0);
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250202_optimize_b10_s4_e0_sweep/level_1/task_97/b10_s3_strided_cosine_loss_base/base/base.cu:115:13: warning: narrowing conversion from 'int64_t' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
115 | int D = predictions.size(1);
| ^