14 | __device__ float linear_transform(const float* x, const float* weight, const float* bias, int row, int in_features, int out_feature_idx) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_99/b5_s1_modular_device_functions/base/base.cu:14:64: note: the first parameter in the range is 'weight'
14 | __device__ float linear_transform(const float* x, const float* weight, const float* bias, int row, int in_features, int out_feature_idx) {
| ^~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_99/b5_s1_modular_device_functions/base/base.cu:14:85: note: the last parameter in the range is 'bias'
14 | __device__ float linear_transform(const float* x, const float* weight, const float* bias, int row, int in_features, int out_feature_idx) {
| ^~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_99/b5_s1_modular_device_functions/base/base.cu:26:46: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
26 | for (int i = tid; i < out_features; i += blockDim.x) {
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_99/b5_s1_modular_device_functions/base/base.cu:43:46: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
43 | for (int i = tid; i < out_features; i += blockDim.x) {
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_99/b5_s1_modular_device_functions/base/base.cu:61:46: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
61 | for (int i = tid; i < out_features; i += blockDim.x) {
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_99/b5_s1_modular_device_functions/base/base.cu:71:5: warning: 2 adjacent parameters of 'linear_gelu_softmax_kernel' of similar type ('const int') are easily swapped by mistake [bugprone-easily-swappable-parameters]
71 | const int batch_size,
| ^~~~~~~~~~~~~~~~~~~~~
72 | const int in_features,
| ~~~~~~~~~~~~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_99/b5_s1_modular_device_functions/base/base.cu:71:15: note: the first parameter in the range is 'batch_size'
71 | const int batch_size,
| ^~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_99/b5_s1_modular_device_functions/base/base.cu:72:15: note: the last parameter in the range is 'in_features'
72 | const int in_features,
| ^~~~~~~~~~~
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_99/b5_s1_modular_device_functions/base/base.cu:76:21: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
76 | const int row = blockIdx.x;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_99/b5_s1_modular_device_functions/base/base.cu:77:21: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
77 | const int tid = threadIdx.x;
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_99/b5_s1_modular_device_functions/base/base.cu:87:28: 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]
87 | float* row_data = &output[row * out_features];
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_99/b5_s1_modular_device_functions/base/base.cu:87:35: note: make conversion explicit to silence this warning
4 | float* row_data = &output[row * out_features];
| ^~~~~~~~~~~~~~~~~~
| static_cast<ptrdiff_t>( )
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_99/b5_s1_modular_device_functions/base/base.cu:87:35: note: perform multiplication in a wider type
87 | float* row_data = &output[row * out_features];
| ^~~
| static_cast<ptrdiff_t>( )
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_99/b5_s1_modular_device_functions/base/base.cu:93: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]
93 | torch::Tensor x,
| ^
| const &
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_99/b5_s1_modular_device_functions/base/base.cu:94: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]
94 | torch::Tensor weight,
| ^
| const &
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_99/b5_s1_modular_device_functions/base/base.cu:95: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]
95 | torch::Tensor bias
| ^
| const &
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_99/b5_s1_modular_device_functions/base/base.cu:97:28: warning: narrowing conversion from 'int64_t' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
97 | const int batch_size = x.size(0);
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_99/b5_s1_modular_device_functions/base/base.cu:98:29: warning: narrowing conversion from 'int64_t' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
98 | const int in_features = x.size(1);
| ^
/home/robert_sakana_ai/llm_cuda/experiments/20250208_optimize_b5_s4_e1_sweep/level_2/task_99/b5_s1_modular_device_functions/base/base.cu:99:30: warning: narrowing conversion from 'int64_t' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
99 | const int out_features = weight.size(0);
| ^