| 235 | input.tensor, |
| 236 | input.tensor->ne[0], |
| 237 | input.tensor->ne[1], |
| 238 | input.tensor->nb[1], |
| 239 | static_cast<size_t>(batch_index) * input.tensor->nb[2]); |
| 240 | auto * transposed_input = ggml_cont(ctx.ggml, ggml_transpose(ctx.ggml, batch_input)); |
| 241 | auto * columns = ggml_mul_mat(ctx.ggml, weight_perm, transposed_input); |
| 242 | auto * batch_output = ggml_col2im_1d(ctx.ggml, columns, config.stride, static_cast<int>(config.out_channels), config.padding); |
| 243 | if (bias_matrix != nullptr) { |
| 244 | batch_output = ggml_add(ctx.ggml, batch_output, bias_matrix); |
| 245 | } |
no test coverage detected