@@ -55,30 +55,18 @@ bool KVCacheStore::init(const StoreConfig& config,
5555 LOG (INFO) << " v_cache_size_per_block: " << v_cache_size_per_block_;
5656
5757 if (config_.protocol == " rdma" ) {
58- for (int block = 0 ; block < host_kv_caches_->size (); block++) {
59- void * key_cache = static_cast <char *>(
60- host_kv_caches_->at (block).get_k_cache ().data_ptr ());
61-
62- auto register_k_result = client_ptr_->RegisterLocalMemory (
63- key_cache, k_cache_size_per_block_, " cpu:0" , false , false );
64-
65- if (!register_k_result.has_value ()) {
66- LOG (ERROR) << " Failed to register local memory for key cache: "
67- << toString (register_k_result.error ());
68- return false ;
69- }
70-
71- void * value_cache = static_cast <char *>(
72- host_kv_caches_->at (block).get_v_cache ().data_ptr ());
73-
74- auto register_v_result = client_ptr_->RegisterLocalMemory (
75- value_cache, v_cache_size_per_block_, " cpu:0" , false , false );
76-
77- if (!register_v_result.has_value ()) {
78- LOG (ERROR) << " Failed to register local memory for value cache: "
79- << toString (register_v_result.error ());
58+ if (config_.total_size > 0 && config_.tensor_data != nullptr ) {
59+ auto result = client_ptr_->RegisterLocalMemory (
60+ config_.tensor_data , config_.total_size , " cpu:0" , false , false );
61+ if (!result.has_value ()) {
62+ LOG (ERROR) << " Failed to register local memory: "
63+ << toString (result.error ());
8064 return false ;
8165 }
66+ } else {
67+ LOG (FATAL) << " rdma must RegisterLocalMemory, but got register size: "
68+ << config_.total_size
69+ << " , and data ptr: " << uint64_t (config_.tensor_data );
8270 }
8371 }
8472 is_initialized_ = true ;
0 commit comments