@@ -66,6 +66,8 @@ DEFINE_int32(num_target_dev, 1, "Number of device in target process");
6666DEFINE_bool (enable_pt, false , " Enable Progress Thread (only used with nixl worker)" );
6767// GDS options - only used when backend is GDS
6868DEFINE_string (gds_filepath, " " , " File path for GDS operations (only used with GDS backend)" );
69+ DEFINE_int32 (gds_batch_pool_size, 32 , " Batch pool size for GDS operations (default: 32, only used with GDS backend)" );
70+ DEFINE_int32 (gds_batch_limit, 128 , " Batch limit for GDS operations (default: 128, only used with GDS backend)" );
6971
7072// TODO: We should take rank wise device list as input to extend support
7173// <rank>:<device_list>, ...
@@ -102,7 +104,8 @@ bool xferBenchConfig::enable_pt = false;
102104std::string xferBenchConfig::device_list = " " ;
103105std::string xferBenchConfig::etcd_endpoints = " " ;
104106std::string xferBenchConfig::gds_filepath = " " ;
105-
107+ int xferBenchConfig::gds_batch_pool_size = 0 ;
108+ int xferBenchConfig::gds_batch_limit = 0 ;
106109std::vector<std::string> devices = { };
107110int xferBenchConfig::num_files = 0 ;
108111std::string xferBenchConfig::posix_api_type = " " ;
@@ -122,6 +125,8 @@ int xferBenchConfig::loadFromFlags() {
122125 // Load GDS-specific configurations if backend is GDS
123126 if (backend == XFERBENCH_BACKEND_GDS) {
124127 gds_filepath = FLAGS_gds_filepath;
128+ gds_batch_pool_size = FLAGS_gds_batch_pool_size;
129+ gds_batch_limit = FLAGS_gds_batch_limit;
125130 num_files = FLAGS_num_files;
126131 storage_enable_direct = FLAGS_storage_enable_direct;
127132 }
@@ -254,6 +259,10 @@ void xferBenchConfig::printConfig() {
254259 if (backend == XFERBENCH_BACKEND_GDS) {
255260 std::cout << std::left << std::setw (60 ) << " GDS filepath (--gds_filepath=path)" << " : "
256261 << gds_filepath << std::endl;
262+ std::cout << std::left << std::setw (60 ) << " GDS batch pool size (--gds_batch_pool_size=N)" << " : "
263+ << gds_batch_pool_size << std::endl;
264+ std::cout << std::left << std::setw (60 ) << " GDS batch limit (--gds_batch_limit=N)" << " : "
265+ << gds_batch_limit << std::endl;
257266 std::cout << std::left << std::setw (60 ) << " GDS enable direct (--gds_enable_direct=[0,1])" << " : "
258267 << storage_enable_direct << std::endl;
259268 std::cout << std::left << std::setw (60 ) << " Number of files (--num_files=N)" << " : "
0 commit comments