MCPcopy Create free account
hub / github.com/PaddlePaddle/FastDeploy / __init__

Method __init__

fastdeploy/cache_manager/cache_messager.py:124–276  ·  view source on GitHub ↗

Initialize the CacheMessager object. Args: splitwise_role (str): splitwise_role only can be 'prefill' or 'decode'. transfer_protocol (str): support ipc and rdma engine_worker_queue_port (int): engine_worker_queue port gpu_cache_kvs (d

(
        self,
        splitwise_role,
        transfer_protocol,
        pod_ip,
        engine_worker_queue_port,
        local_data_parallel_id,
        gpu_cache_kvs,
        rank,
        nranks,
        num_layers,
        gpu_id=0,
        rdma_port=None,
        cache_dtype="bfloat16",
    )

Source from the content-addressed store, hash-verified

122 """
123
124 def __init__(
125 self,
126 splitwise_role,
127 transfer_protocol,
128 pod_ip,
129 engine_worker_queue_port,
130 local_data_parallel_id,
131 gpu_cache_kvs,
132 rank,
133 nranks,
134 num_layers,
135 gpu_id=0,
136 rdma_port=None,
137 cache_dtype="bfloat16",
138 ):
139 """
140 Initialize the CacheMessager object.
141
142 Args:
143 splitwise_role (str): splitwise_role only can be 'prefill' or 'decode'.
144 transfer_protocol (str): support ipc and rdma
145 engine_worker_queue_port (int): engine_worker_queue port
146 gpu_cache_kvs (dict): GPU kv cache
147 rank (int): current rank
148 nranks (int): global rank number
149 num_layers (int): model layer number
150 gpu_id (int, optional): GPU ID
151 rdma_port (int, optional): RDMA port
152
153 Returns:
154 None
155 """
156 self.splitwise_role = splitwise_role
157 self.gpu_cache_kvs = gpu_cache_kvs
158 self.rank = rank
159 self.nranks = nranks
160 self.cache_dtype = cache_dtype
161 if not envs.FD_ENGINE_TASK_QUEUE_WITH_SHM:
162 address = (pod_ip, engine_worker_queue_port)
163 else:
164 address = f"/dev/shm/fd_task_queue_{engine_worker_queue_port}.sock"
165 self.engine_worker_queue = EngineWorkerQueue(
166 address=address,
167 is_server=False,
168 num_client=self.nranks,
169 client_id=self.rank,
170 local_data_parallel_id=local_data_parallel_id,
171 )
172 transfer_protocol = transfer_protocol.split(",")
173
174 logger.info(f"splitwise role: {splitwise_role}, {transfer_protocol}" f"rank: {rank}")
175
176 # 1. initialize the cache_k_ptr_list and cache_v_ptr_list
177 self.num_layers = num_layers
178 cache_k_ptr_list = []
179 cache_v_ptr_list = []
180 cache_k = []
181 cache_v = []

Callers

nothing calls this directly

Calls 8

EngineWorkerQueueClass · 0.90
get_peer_mem_addrFunction · 0.90
IPCCommManagerClass · 0.90
RDMACommManagerClass · 0.90
splitMethod · 0.80
data_ptrMethod · 0.80
infoMethod · 0.45
startMethod · 0.45

Tested by

no test coverage detected