@@ -110,7 +110,7 @@ void WorkerServer::create_server(
110110 std::unique_ptr<Worker> worker =
111111 std::make_unique<Worker>(*parallel_args, device, options, worker_type);
112112 worker_service->set_worker (std::move (worker));
113- if (FLAGS_enable_shm && input_shm_manager && output_shm_manager) {
113+ if (options. enable_shm () && input_shm_manager && output_shm_manager) {
114114 worker_service->create_polling_shm_thread (std::move (input_shm_manager),
115115 std::move (output_shm_manager));
116116 }
@@ -127,29 +127,32 @@ void WorkerServer::create_spawn_server(int local_rank,
127127 const ParallelArgs& parallel_args,
128128 const torch::Device& d,
129129 const runtime::Options& options) {
130- auto local_rank_str0 = std::to_string (local_rank);
131- const char * local_rank_str = local_rank_str0.c_str ();
132- auto global_rank_str0 = std::to_string (parallel_args.rank ());
133- const char * global_rank_str = global_rank_str0.c_str ();
134- auto world_size_str0 = std::to_string (parallel_args.world_size ());
135- const char * world_size_str = world_size_str0.c_str ();
136- auto device_idx_str0 = std::to_string (d.index ());
137- const char * device_idx_str = device_idx_str0.c_str ();
138- auto num_decoding_tokens_str0 = std::to_string (options.num_decoding_tokens ());
139- const char * num_decoding_tokens_str = num_decoding_tokens_str0.c_str ();
140- auto block_size_str0 = std::to_string (options.block_size ());
141- const char * block_size_str = block_size_str0.c_str ();
130+ auto local_rank_str = std::to_string (local_rank);
131+ const char * local_rank_ptr = local_rank_str.c_str ();
132+ auto global_rank_str = std::to_string (parallel_args.rank ());
133+ const char * global_rank_ptr = global_rank_str.c_str ();
134+ auto world_size_str = std::to_string (parallel_args.world_size ());
135+ const char * world_size_ptr = world_size_str.c_str ();
136+ auto device_idx_str = std::to_string (d.index ());
137+ const char * device_idx_ptr = device_idx_str.c_str ();
138+ auto num_decoding_tokens_str = std::to_string (options.num_decoding_tokens ());
139+ const char * num_decoding_tokens_ptr = num_decoding_tokens_str.c_str ();
140+ auto block_size_str = std::to_string (options.block_size ());
141+ const char * block_size_ptr = block_size_str.c_str ();
142+ auto enable_shm_str = std::to_string (options.enable_shm ());
143+ const char * enable_shm_ptr = enable_shm_str.c_str ();
142144 std::string spawn_worker_bin_path =
143145 options.spawn_worker_path () + " /spawn_worker" ;
144146 LOG (INFO) << " Spawn worker path: " << spawn_worker_bin_path;
145147 const char * argv[] = {spawn_worker_bin_path.c_str (),
146148 master_node_addr.c_str (),
147- local_rank_str,
148- global_rank_str,
149- world_size_str,
150- device_idx_str,
151- num_decoding_tokens_str,
152- block_size_str,
149+ local_rank_ptr,
150+ global_rank_ptr,
151+ world_size_ptr,
152+ device_idx_ptr,
153+ num_decoding_tokens_ptr,
154+ block_size_ptr,
155+ enable_shm_ptr,
153156 nullptr };
154157 pid_t pid;
155158 posix_spawn_file_actions_init (&file_actions_);
@@ -173,7 +176,7 @@ void WorkerServer::prepare_shm(
173176 const runtime::Options& options,
174177 std::unique_ptr<ForwardSharedMemoryManager>& input_shm_manager,
175178 std::unique_ptr<ForwardSharedMemoryManager>& output_shm_manager) {
176- if (options.is_local () && FLAGS_enable_shm ) {
179+ if (options.is_local () && options. enable_shm () ) {
177180 bool is_creator;
178181 int dp_local_tp_size = parallel_args.world_size () / parallel_args.dp_size ();
179182 int dp_group = parallel_args.rank () / dp_local_tp_size;
0 commit comments