@@ -151,7 +151,7 @@ void ggml_backend_buffer_reset(ggml_backend_buffer_t buffer) {
151151bool ggml_backend_buffer_copy_tensor (const struct ggml_tensor * src , struct ggml_tensor * dst ) {
152152 ggml_backend_buffer_t dst_buf = dst -> view_src ? dst -> view_src -> buffer : dst -> buffer ;
153153 if (dst_buf -> iface .cpy_tensor ) {
154- return src -> buffer -> iface .cpy_tensor (dst_buf , src , dst );
154+ return dst_buf -> iface .cpy_tensor (dst_buf , src , dst );
155155 }
156156 return false;
157157}
@@ -321,9 +321,7 @@ void ggml_backend_tensor_copy(struct ggml_tensor * src, struct ggml_tensor * dst
321321 ggml_backend_tensor_set (dst , src -> data , 0 , ggml_nbytes (src ));
322322 } else if (ggml_backend_buffer_is_host (dst -> buffer )) {
323323 ggml_backend_tensor_get (src , dst -> data , 0 , ggml_nbytes (src ));
324- }
325- bool same_backend = strcmp (ggml_backend_buffer_name (src -> buffer ), ggml_backend_buffer_name (dst -> buffer )) == 0 ;
326- if (!same_backend || !ggml_backend_buffer_copy_tensor (src , dst )) {
324+ } else if (!ggml_backend_buffer_copy_tensor (src , dst )) {
327325#ifndef NDEBUG
328326 fprintf (stderr , "%s: warning: slow copy from %s to %s\n" , __func__ , ggml_backend_buffer_name (src -> buffer ), ggml_backend_buffer_name (dst -> buffer ));
329327#endif
@@ -1889,15 +1887,15 @@ ggml_backend_t ggml_backend_sched_get_tensor_backend(ggml_backend_sched_t sched,
18891887
18901888// utils
18911889
1892- void ggml_backend_view_init (ggml_backend_buffer_t buffer , struct ggml_tensor * tensor ) {
1890+ void ggml_backend_view_init (struct ggml_tensor * tensor ) {
18931891 GGML_ASSERT (tensor -> buffer == NULL );
18941892 GGML_ASSERT (tensor -> view_src != NULL );
18951893 GGML_ASSERT (tensor -> view_src -> buffer != NULL );
18961894 GGML_ASSERT (tensor -> view_src -> data != NULL );
18971895
1898- tensor -> buffer = buffer ;
1896+ tensor -> buffer = tensor -> view_src -> buffer ;
18991897 tensor -> data = (char * )tensor -> view_src -> data + tensor -> view_offs ;
1900- ggml_backend_buffer_init_tensor (buffer , tensor );
1898+ ggml_backend_buffer_init_tensor (tensor -> buffer , tensor );
19011899}
19021900
19031901void ggml_backend_tensor_alloc (ggml_backend_buffer_t buffer , struct ggml_tensor * tensor , void * addr ) {
@@ -1956,7 +1954,7 @@ static void graph_copy_init_tensor(struct ggml_hash_set hash_set, struct ggml_te
19561954 struct ggml_tensor * dst = node_copies [id ];
19571955 if (dst -> view_src != NULL ) {
19581956 graph_copy_init_tensor (hash_set , node_copies , node_init , src -> view_src );
1959- ggml_backend_view_init (dst -> view_src -> buffer , dst );
1957+ ggml_backend_view_init (dst );
19601958 }
19611959 else {
19621960 ggml_backend_tensor_copy (src , dst );
0 commit comments