





"""simple docstring"""





import importlib
import sys
from argparse import REMAINDER, ArgumentParser
from pathlib import Path

import torch_xla.distributed.xla_multiprocessing as xmp
def 					__A  ()   ->Any:





  """simple docstring"""


  lowerCAmelCase__     :Union[str, Any]											=				ArgumentParser(
      description=(
          'PyTorch TPU distributed training launch helper utility that will spawn up multiple distributed processes'
      )     )

  # Optional arguments for the launch helper
  parser.add_argument('--num_cores'	,  type=_SCREAMING_SNAKE_CASE	,  default=1	,  help='Number of TPU cores to use (1 or 8).'     )

  # positional
  parser.add_argument(
      'training_script'	,  type=_SCREAMING_SNAKE_CASE	,  help=(
          'The full path to the single TPU training '
          'program/script to be launched in parallel, '
          'followed by all the arguments for the '
          'training script'
      )	,  )

  # rest from the training program
  parser.add_argument('training_script_args'	,  nargs=_SCREAMING_SNAKE_CASE     )

  return parser.parse_args()
def 					__A  ()   ->List[str]:





  """simple docstring"""


  lowerCAmelCase__     :Dict											=				parse_args()

  # Import training_script as a module.
  lowerCAmelCase__     :str											=				Path(args.training_script     )
  sys.path.append(str(script_fpath.parent.resolve()     )     )
  lowerCAmelCase__     :Any											=				script_fpath.stem
  lowerCAmelCase__     :Any											=				importlib.import_module(_SCREAMING_SNAKE_CASE     )

  # Patch sys.argv
  lowerCAmelCase__     :int											=				[args.training_script] + args.training_script_args + ['--tpu_num_cores', str(args.num_cores     )]

  xmp.spawn(mod._mp_fn	,  args=()	,  nprocs=args.num_cores     )


if __name__ == "__main__":
  main()







"""simple docstring"""





from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_sentencepiece_available


__A											=						{}


try:
  if not is_sentencepiece_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  __A											=						["""MLukeTokenizer"""]

if TYPE_CHECKING:
  try:
    if not is_sentencepiece_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .tokenization_mluke import MLukeTokenizer


else:
  import sys

  __A											=						_LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)
