@@ -197,17 +197,20 @@ std::string xferBenchConfig::gusli_device_security = "";
197197
198198int
199199xferBenchConfig::loadFromFlags () {
200- benchmark_group = FLAGS_benchmark_group;
201- runtime_type = FLAGS_runtime_type;
202- worker_type = FLAGS_worker_type;
200+ #define NB_ARG (name ) \
201+ FLAGS_ ##name
202+
203+ benchmark_group = NB_ARG (benchmark_group);
204+ runtime_type = NB_ARG (runtime_type);
205+ worker_type = NB_ARG (worker_type);
203206
204207 // Only load NIXL-specific configurations if using NIXL worker
205208 if (worker_type == XFERBENCH_WORKER_NIXL) {
206- backend = FLAGS_backend ;
207- enable_pt = FLAGS_enable_pt ;
208- progress_threads = FLAGS_progress_threads ;
209- device_list = FLAGS_device_list ;
210- enable_vmm = FLAGS_enable_vmm ;
209+ backend = NB_ARG (backend) ;
210+ enable_pt = NB_ARG (enable_pt) ;
211+ progress_threads = NB_ARG (progress_threads) ;
212+ device_list = NB_ARG (device_list) ;
213+ enable_vmm = NB_ARG (enable_vmm) ;
211214
212215#if defined(HAVE_CUDA) && !defined(HAVE_CUDA_FABRIC)
213216 if (enable_vmm) {
@@ -217,17 +220,17 @@ xferBenchConfig::loadFromFlags() {
217220#endif
218221 // Load GDS-specific configurations if backend is GDS
219222 if (backend == XFERBENCH_BACKEND_GDS) {
220- gds_batch_pool_size = FLAGS_gds_batch_pool_size ;
221- gds_batch_limit = FLAGS_gds_batch_limit ;
223+ gds_batch_pool_size = NB_ARG (gds_batch_pool_size) ;
224+ gds_batch_limit = NB_ARG (gds_batch_limit) ;
222225 }
223226
224227 if (backend == XFERBENCH_BACKEND_GDS_MT) {
225- gds_mt_num_threads = FLAGS_gds_mt_num_threads ;
228+ gds_mt_num_threads = NB_ARG (gds_mt_num_threads) ;
226229 }
227230
228231 // Load POSIX-specific configurations if backend is POSIX
229232 if (backend == XFERBENCH_BACKEND_POSIX) {
230- posix_api_type = FLAGS_posix_api_type ;
233+ posix_api_type = NB_ARG (posix_api_type) ;
231234
232235 // Validate POSIX API type
233236 if (posix_api_type != XFERBENCH_POSIX_API_AIO &&
@@ -240,36 +243,36 @@ xferBenchConfig::loadFromFlags() {
240243
241244 // Load DOCA-specific configurations if backend is DOCA
242245 if (backend == XFERBENCH_BACKEND_GPUNETIO) {
243- gpunetio_device_list = FLAGS_gpunetio_device_list ;
244- gpunetio_oob_list = FLAGS_gpunetio_oob_list ;
246+ gpunetio_device_list = NB_ARG (gpunetio_device_list) ;
247+ gpunetio_oob_list = NB_ARG (gpunetio_oob_list) ;
245248 }
246249
247250 // Load HD3FS-specific configurations if backend is HD3FS
248251 if (backend == XFERBENCH_BACKEND_HF3FS) {
249- hf3fs_iopool_size = FLAGS_hf3fs_iopool_size ;
252+ hf3fs_iopool_size = NB_ARG (hf3fs_iopool_size) ;
250253 }
251254
252255 // Load GUSLI-specific configurations if backend is GUSLI
253256 if (backend == XFERBENCH_BACKEND_GUSLI) {
254- gusli_client_name = FLAGS_gusli_client_name ;
255- gusli_max_simultaneous_requests = FLAGS_gusli_max_simultaneous_requests ;
256- gusli_config_file = FLAGS_gusli_config_file ;
257- gusli_bdev_byte_offset = FLAGS_gusli_bdev_byte_offset ;
258- gusli_device_security = FLAGS_gusli_device_security ;
257+ gusli_client_name = NB_ARG (gusli_client_name) ;
258+ gusli_max_simultaneous_requests = NB_ARG (gusli_max_simultaneous_requests) ;
259+ gusli_config_file = NB_ARG (gusli_config_file) ;
260+ gusli_bdev_byte_offset = NB_ARG (gusli_bdev_byte_offset) ;
261+ gusli_device_security = NB_ARG (gusli_device_security) ;
259262 }
260263
261264 // Load OBJ-specific configurations if backend is OBJ
262265 if (backend == XFERBENCH_BACKEND_OBJ) {
263- obj_access_key = FLAGS_obj_access_key ;
264- obj_secret_key = FLAGS_obj_secret_key ;
265- obj_session_token = FLAGS_obj_session_token ;
266- obj_bucket_name = FLAGS_obj_bucket_name ;
267- obj_scheme = FLAGS_obj_scheme ;
268- obj_region = FLAGS_obj_region ;
269- obj_use_virtual_addressing = FLAGS_obj_use_virtual_addressing ;
270- obj_endpoint_override = FLAGS_obj_endpoint_override ;
271- obj_req_checksum = FLAGS_obj_req_checksum ;
272- obj_ca_bundle = FLAGS_obj_ca_bundle ;
266+ obj_access_key = NB_ARG (obj_access_key) ;
267+ obj_secret_key = NB_ARG (obj_secret_key) ;
268+ obj_session_token = NB_ARG (obj_session_token) ;
269+ obj_bucket_name = NB_ARG (obj_bucket_name) ;
270+ obj_scheme = NB_ARG (obj_scheme) ;
271+ obj_region = NB_ARG (obj_region) ;
272+ obj_use_virtual_addressing = NB_ARG (obj_use_virtual_addressing) ;
273+ obj_endpoint_override = NB_ARG (obj_endpoint_override) ;
274+ obj_req_checksum = NB_ARG (obj_req_checksum) ;
275+ obj_ca_bundle = NB_ARG (obj_ca_bundle) ;
273276
274277 // Validate OBJ S3 scheme
275278 if (obj_scheme != XFERBENCH_OBJ_SCHEME_HTTP &&
@@ -288,28 +291,28 @@ xferBenchConfig::loadFromFlags() {
288291 }
289292 }
290293
291- initiator_seg_type = FLAGS_initiator_seg_type ;
292- target_seg_type = FLAGS_target_seg_type ;
293- scheme = FLAGS_scheme ;
294- mode = FLAGS_mode ;
295- op_type = FLAGS_op_type ;
296- check_consistency = FLAGS_check_consistency ;
297- total_buffer_size = FLAGS_total_buffer_size ;
298- num_initiator_dev = FLAGS_num_initiator_dev ;
299- num_target_dev = FLAGS_num_target_dev ;
300- start_block_size = FLAGS_start_block_size ;
301- max_block_size = FLAGS_max_block_size ;
302- start_batch_size = FLAGS_start_batch_size ;
303- max_batch_size = FLAGS_max_batch_size ;
304- num_iter = FLAGS_num_iter ;
305- large_blk_iter_ftr = FLAGS_large_blk_iter_ftr ;
306- warmup_iter = FLAGS_warmup_iter ;
307- num_threads = FLAGS_num_threads ;
308- etcd_endpoints = FLAGS_etcd_endpoints ;
309- filepath = FLAGS_filepath ;
310- num_files = FLAGS_num_files ;
311- posix_api_type = FLAGS_posix_api_type ;
312- storage_enable_direct = FLAGS_storage_enable_direct ;
294+ initiator_seg_type = NB_ARG (initiator_seg_type) ;
295+ target_seg_type = NB_ARG (target_seg_type) ;
296+ scheme = NB_ARG (scheme) ;
297+ mode = NB_ARG (mode) ;
298+ op_type = NB_ARG (op_type) ;
299+ check_consistency = NB_ARG (check_consistency) ;
300+ total_buffer_size = NB_ARG (total_buffer_size) ;
301+ num_initiator_dev = NB_ARG (num_initiator_dev) ;
302+ num_target_dev = NB_ARG (num_target_dev) ;
303+ start_block_size = NB_ARG (start_block_size) ;
304+ max_block_size = NB_ARG (max_block_size) ;
305+ start_batch_size = NB_ARG (start_batch_size) ;
306+ max_batch_size = NB_ARG (max_batch_size) ;
307+ num_iter = NB_ARG (num_iter) ;
308+ large_blk_iter_ftr = NB_ARG (large_blk_iter_ftr) ;
309+ warmup_iter = NB_ARG (warmup_iter) ;
310+ num_threads = NB_ARG (num_threads) ;
311+ etcd_endpoints = NB_ARG (etcd_endpoints) ;
312+ filepath = NB_ARG (filepath) ;
313+ num_files = NB_ARG (num_files) ;
314+ posix_api_type = NB_ARG (posix_api_type) ;
315+ storage_enable_direct = NB_ARG (storage_enable_direct) ;
313316
314317 // Validate ETCD configuration
315318 if (!isStorageBackend () && etcd_endpoints.empty ()) {
@@ -394,6 +397,7 @@ xferBenchConfig::loadFromFlags() {
394397 }
395398
396399 return 0 ;
400+ #undef NB_ARG
397401}
398402
399403void
0 commit comments