| 6173 | // else, just add/subtract/etc. the gradients |
| 6174 | |
| 6175 | static void ggml_add_or_set( |
| 6176 | struct ggml_context * ctx, |
| 6177 | struct ggml_cgraph * cgraph, |
| 6178 | size_t isrc, |
| 6179 | struct ggml_tensor * tensor) { |
| 6180 | struct ggml_tensor * src = cgraph->visited_hash_set.keys[isrc]; |
| 6181 | GGML_ASSERT(src); |
| 6182 | if (cgraph->grads[isrc]) { |
| 6183 | cgraph->grads[isrc] = ggml_add_impl(ctx, cgraph->grads[isrc], tensor, /*inplace =*/ cgraph->grad_accs[isrc]); |
| 6184 | } else { |
| 6185 | cgraph->grads[isrc] = tensor; |
| 6186 | } |
| 6187 | ggml_format_name(cgraph->grads[isrc], "grad for %s", src->name); |
| 6188 | ggml_build_forward_expand(cgraph, cgraph->grads[isrc]); |
| 6189 | } |
| 6190 | |
| 6191 | static void ggml_acc_or_set( |
| 6192 | struct ggml_context * ctx, |
no test coverage detected