| 17 | |
| 18 | namespace xgboost::collective { |
| 19 | inline Json FederatedTestConfig(std::int32_t n_workers, std::int32_t port, std::int32_t i) { |
| 20 | Json config{Object{}}; |
| 21 | config["dmlc_communicator"] = std::string{"federated"}; |
| 22 | config["dmlc_task_id"] = std::to_string(i); |
| 23 | config["dmlc_retry"] = 2; |
| 24 | config["federated_world_size"] = n_workers; |
| 25 | config["federated_rank"] = i; |
| 26 | config["federated_server_address"] = "0.0.0.0:" + std::to_string(port); |
| 27 | return config; |
| 28 | } |
| 29 | |
| 30 | template <typename WorkerFn> |
| 31 | void TestFederatedImpl(std::int32_t n_workers, WorkerFn&& fn) { |
no outgoing calls
no test coverage detected