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

Method _init_worker_signals

fastdeploy/engine/engine.py:354–413  ·  view source on GitHub ↗

Initialize shared memory to indicate engine status

(self)

Source from the content-addressed store, hash-verified

352 return False
353
354 def _init_worker_signals(self):
355 """
356 Initialize shared memory to indicate engine status
357 """
358 # worker_ready_signal 用于worker进程感知engine是否启动完成
359 worker_ready_signal_data = np.zeros(shape=[self.cfg.worker_num_per_node], dtype=np.int32)
360 self.worker_ready_signal = IPCSignal(
361 name="worker_ready_signal",
362 array=worker_ready_signal_data,
363 dtype=np.int32,
364 suffix=self.ipc_signal_suffix,
365 create=True,
366 )
367
368 # launched_cache_manager_signal 用于感知engine是否启动了cache_manager
369 if self.cfg.cache_config.enable_prefix_caching or self.cfg.scheduler_config.splitwise_role != "mixed":
370 launched_cache_manager_signal_data = np.zeros([1], dtype=np.int32)
371 self.launched_cache_manager_signal = IPCSignal(
372 name="launched_cache_manager_signal",
373 array=launched_cache_manager_signal_data,
374 dtype=np.int32,
375 suffix=self.ipc_signal_suffix,
376 create=True,
377 )
378
379 # launched_expert_service_signal: Used to sense whether each expet_servic is started successfully
380 if self.cfg.parallel_config.data_parallel_size > 1 and not envs.FD_ENABLE_MULTI_API_SERVER:
381 launched_expert_service_signal_data = np.zeros(
382 shape=[self.cfg.parallel_config.data_parallel_size // self.cfg.nnode], dtype=np.int32
383 )
384 self.launched_expert_service_signal = IPCSignal(
385 name="launched_expert_service_signal",
386 array=launched_expert_service_signal_data,
387 dtype=np.int32,
388 suffix=self.ipc_signal_suffix,
389 create=True,
390 )
391
392 # loaded_model_signal: Used to detect whether each worker has completed model loading
393 loaded_model_signal_data = np.zeros([1], dtype=np.int32)
394 self.loaded_model_signal = IPCSignal(
395 name="loaded_model_signal",
396 array=loaded_model_signal_data,
397 dtype=np.int32,
398 suffix=self.ipc_signal_suffix,
399 create=True,
400 )
401
402 if self.do_profile:
403 if paddle.is_compiled_with_custom_device("iluvatar_gpu"):
404 get_profile_block_num = np.zeros([self.cfg.worker_num_per_node], dtype=np.int32)
405 else:
406 get_profile_block_num = np.zeros([1], dtype=np.int32)
407 self.get_profile_block_num_signal = IPCSignal(
408 name="get_profile_block_num",
409 array=get_profile_block_num,
410 dtype=np.int32,
411 suffix=self.ipc_signal_suffix,

Callers 1

startMethod · 0.95

Calls 1

IPCSignalClass · 0.90

Tested by

no test coverage detected