in src/sagemaker_xgboost_container/dmlc_patch/tracker.py [0:0]
def submit(nworker, nserver, fun_submit, hostIP="auto", pscmd=None):
if nserver == 0:
pscmd = None
envs = {"DMLC_NUM_WORKER": nworker, "DMLC_NUM_SERVER": nserver}
hostIP = get_host_ip(hostIP)
if nserver == 0:
rabit = RabitTracker(hostIP=hostIP, nslave=nworker)
envs.update(rabit.slave_envs())
rabit.start(nworker)
if rabit.alive():
fun_submit(nworker, nserver, envs)
else:
pserver = PSTracker(hostIP=hostIP, cmd=pscmd, envs=envs)
envs.update(pserver.slave_envs())
if pserver.alive():
fun_submit(nworker, nserver, envs)
if nserver == 0:
rabit.join()
else:
pserver.join()