Skip to content

Commit 19fb77f

Browse files
benchmark/nixlbench: NB_ARG introduced
NB_ARG parameter getter macro introduced. This will help us to minimize changes when we'll move to a different parameter parsing infrastructure in upcoming patches. This patch doesn't change any logic. Signed-off-by: Anton Nayshtut <[email protected]>
1 parent bb87ce7 commit 19fb77f

File tree

1 file changed

+56
-52
lines changed

1 file changed

+56
-52
lines changed

benchmark/nixlbench/src/utils/utils.cpp

Lines changed: 56 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -197,17 +197,20 @@ std::string xferBenchConfig::gusli_device_security = "";
197197

198198
int
199199
xferBenchConfig::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

399403
void

0 commit comments

Comments
 (0)