Summary:
This diff adds native support for a role that launches with torchelastic (a.k.a ElasticRole) to make this work I do the following three things:
Implements ElasticRole (and ElasticRoleFB for fb internal)
Implements macro substitution for {img_root} and {app_id} which can be used with Role.args (this is needed to specify launch --elastic_args ${img_root}/my_trainer_binary.par).
Removes redundant object APIs from Session and use them directly as defined in torchelastic.tsm.driver.api
Summary: This diff adds native support for a role that launches with
torchelastic
(a.k.aElasticRole
) to make this work I do the following three things:ElasticRole
(andElasticRoleFB
for fb internal){img_root}
and{app_id}
which can be used withRole.args
(this is needed to specifylaunch --elastic_args ${img_root}/my_trainer_binary.par
).Session
and use them directly as defined intorchelastic.tsm.driver.api
Differential Revision: D23701234