mirror of
https://github.com/ggerganov/llama.cpp.git
synced 2024-12-26 19:34:35 +00:00
3919da8e33
* ggml : add check for grad_accs This commit adds a check for grad_accs in ggml_graph_get_grad and ggml_graph_get_grad_acc functions. This is necessary to avoid segfaults when grad_accs is not initialized. The motivation for this change is that I find it nice to be able to print out a computation graph using ggml_graph_print but this function segfaults when grad_accs is not initialized: ```console (gdb) p g1 $2 = (ggml_cgraph *) 0x7ffff66004b0 (gdb) p *g1 $3 = {size = 2048, n_nodes = 1, n_leafs = 2, nodes = 0x7ffff6600500, grads = 0x0, grad_accs = 0x0, leafs = 0x7ffff6604500, visited_hash_set = {size = 4099, used = 0x7ffff6610518, keys = 0x7ffff6608500}, order = GGML_CGRAPH_EVAL_ORDER_LEFT_TO_RIGHT} (gdb) p ggml_graph_print(g1) === GRAPH === n_nodes = 1 Program received signal SIGSEGV, Segmentation fault. 0x0000555555579775 in ggml_graph_get_grad (cgraph=0x7ffff66004b0,node=0x7ffff6600340) at /ggml/ggml/src/ggml.c:5990 5990 return igrad != GGML_HASHSET_FULL && ggml_bitset_get(cgraph->visited_hash_set.used, igrad) ? cgraph->grads[igrad] : NULL; ``` * squash! ggml : add check for grad_accs Fix the check in ggml_graph_get_grad. The check was incorrectly using cgraph->grad_accs instead of cgraph->grads. |
||
---|---|---|
.. | ||
ggml-blas | ||
ggml-cann | ||
ggml-cpu | ||
ggml-cuda | ||
ggml-hip | ||
ggml-kompute | ||
ggml-metal | ||
ggml-musa | ||
ggml-opencl | ||
ggml-rpc | ||
ggml-sycl | ||
ggml-vulkan | ||
CMakeLists.txt | ||
ggml-alloc.c | ||
ggml-backend-impl.h | ||
ggml-backend-reg.cpp | ||
ggml-backend.cpp | ||
ggml-common.h | ||
ggml-impl.h | ||
ggml-opt.cpp | ||
ggml-quants.c | ||
ggml-quants.h | ||
ggml-threading.cpp | ||
ggml-threading.h | ||
ggml.c |