@@ -481,15 +481,16 @@ static void ggml_backend_rpc_buffer_init_tensor(ggml_backend_buffer_t buffer, gg
481
481
}
482
482
483
483
static void ggml_backend_rpc_buffer_set_tensor (ggml_backend_buffer_t buffer, ggml_tensor * tensor, const void * data, size_t offset, size_t size) {
484
+ static std::vector<uint8_t > input{};
484
485
ggml_backend_rpc_buffer_context * ctx = (ggml_backend_rpc_buffer_context *)buffer->context ;
485
486
// input serialization format: | rpc_tensor | offset (8 bytes) | data (size bytes) |
486
487
size_t input_size = sizeof (rpc_tensor) + sizeof (uint64_t ) + size;
487
- std::vector< uint8_t > input (input_size, 0 );
488
+ input. resize (input_size);
488
489
rpc_tensor rpc_tensor = serialize_tensor (tensor);
489
490
memcpy (input.data (), &rpc_tensor, sizeof (rpc_tensor));
490
491
memcpy (input.data () + sizeof (rpc_tensor), &offset, sizeof (offset));
491
492
memcpy (input.data () + sizeof (rpc_tensor) + sizeof (offset), data, size);
492
- bool status = send_rpc_cmd (ctx->sock , RPC_CMD_SET_TENSOR, input.data (), input. size () , nullptr , 0 );
493
+ bool status = send_rpc_cmd (ctx->sock , RPC_CMD_SET_TENSOR, input.data (), input_size , nullptr , 0 );
493
494
GGML_ASSERT (status);
494
495
}
495
496
@@ -1148,6 +1149,8 @@ rpc_server::~rpc_server() {
1148
1149
}
1149
1150
1150
1151
static void rpc_serve_client (ggml_backend_t backend, sockfd_t sockfd, size_t free_mem, size_t total_mem) {
1152
+ std::vector<uint8_t > set_tensor_vec;
1153
+ set_tensor_vec.reserve (100 );
1151
1154
rpc_server server (backend);
1152
1155
while (true ) {
1153
1156
uint8_t cmd;
@@ -1247,11 +1250,10 @@ static void rpc_serve_client(ggml_backend_t backend, sockfd_t sockfd, size_t fre
1247
1250
break ;
1248
1251
}
1249
1252
case RPC_CMD_SET_TENSOR: {
1250
- std::vector<uint8_t > input;
1251
- if (!recv_msg (sockfd, input)) {
1253
+ if (!recv_msg (sockfd, set_tensor_vec)) {
1252
1254
return ;
1253
1255
}
1254
- if (!server.set_tensor (input )) {
1256
+ if (!server.set_tensor (set_tensor_vec )) {
1255
1257
return ;
1256
1258
}
1257
1259
if (!send_msg (sockfd, nullptr , 0 )) {
0 commit comments