Initialize shared memory to indicate engine status
(self)
| 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, |