Conversation
| } | ||
| } else if (tensor->op == GGML_OP_SET_ROWS) { | ||
| tensor_clone = ggml_set_rows(ggml_ctx, src_clone[0], src_clone[1]); | ||
| tensor_clone = ggml_set_rows(ggml_ctx, src_clone[0], src_clone[1], src_clone[2]); |
There was a problem hiding this comment.
I'm not sure what the parameters should be here. Do we need to clone the dst tensor and pass that as the 'a' parameter?
There was a problem hiding this comment.
I didn't look at it in detail, but this fixed the issue I had with it.
There was a problem hiding this comment.
This is a weird operation because it doesn't keep around it's original 'a' parameter, and I think src_clone[2] will be null. And since it only writes sparsely to the destination we probably need to dup the original contents. So maybe something like:
tensor_clone = ggml_dup(ggml_ctx, dst->view_src);
tensor_clone = ggml_set_rows(ggml_ctx, tensor_clone, src_clone[0], src_clone[1]);
There was a problem hiding this comment.
I checked again, my code just fixed the compile problem, it does not work if actually used. But neither does yours, since the tensor data is still on GPU, so dup does not work. I think manually copying the view tensor to CPU and using it as view_src would work, but that would mean reworking the check_result functions to support this.
I just deactivated SET_ROWS for now to fix the issue, if we need set_rows checks they can be readded at a later point.
dbf7d78 to
573670b
Compare
* vulkan: fix debug mode issues * vulkan: remove broken check_results GGML_OP_SET_ROWS support
* vulkan: fix debug mode issues * vulkan: remove broken check_results GGML_OP_SET_ROWS support
* vulkan: fix debug mode issues * vulkan: remove broken check_results GGML_OP_SET_ROWS support
No description provided.