8000 Use memcpy for copying contiguous tensors · ggml-org/llama.cpp@3cdc64b · GitHub
[go: up one dir, main page]

Skip to content

Commit 3cdc64b

Browse files
committed
Use memcpy for copying contiguous tensors
ggml-ci
1 parent 5d2bf08 commit 3cdc64b

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

ggml/src/ggml-sycl/cpy.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -759,8 +759,11 @@ void ggml_sycl_cpy(ggml_backend_sycl_context & ctx, const ggml_tensor * src0, co
759759

760760
char * src0_ddc = (char *) src0->data;
761761
char * src1_ddc = (char *) src1->data;
762-
763-
if (src0->type == GGML_TYPE_F32 && src1->type == GGML_TYPE_F32) {
762+
GGML_SYCL_DEBUG("[SYCL] %s: Tensor supplied: %s to %s\n", __func__, ggml_type_name(src0->type),
763+
ggml_type_name(src1->type));
764+
if ((src0->type == src1->type) && (ggml_is_contiguous(src0) && ggml_is_contiguous(src1))) {
765+
main_stream->memcpy(src1_ddc, src0_ddc, ggml_nbytes(src0));
766+
} else if (src0->type == GGML_TYPE_F32 && src1->type == GGML_TYPE_F32) {
764767
ggml_cpy_f32_f32_sycl(src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10,
765768
nb11, nb12, nb13, main_stream);
766769
} else if (src0->type == GGML_TYPE_F32 && src1->type == GGML_TYPE_F16) {

0 commit comments

Comments
 (0)
0