options. "entrypoint" is either a "Callable" (function) or a "str"
   (binary). The number of copies is determined by the number of
   entries for "args" and "envs" arguments, which need to have the
   same key set.
"args" and "env" parameters are the arguments and environment
   variables to pass down to the entrypoint mapped by the replica
   index (local rank). All local ranks must be accounted for. That is,
   the keyset should be "{0,1,...,(nprocs-1)}".
Note:
 When the "entrypoint" is a binary ("str"), "args" can only be
 strings. If any other type is given, then it is casted to a
 string representation (e.g. "str(arg1)"). Furthermore, a binary
 failure will only write an "error.json" error file if the main
 function is annotated with
 "torch.distributed.elastic.multiprocessing.errors.record". For
 function launches, this is done by default and there is no need
 to manually annotate with the "@record" annotation.
