Ejemplo n.º 1
0
    def __call__(self, parser, args, values, option_string=None):
        output = '''\
        Horovod v{version}:

        Available Frameworks:
          [{tensorflow}] TensorFlow
          [{torch}] PyTorch
          [{mxnet}] MXNet

        Available Controllers:
          [{mpi}] MPI
          [{gloo}] Gloo

        Available Tensor Operations:
          [{nccl_ops}] NCCL
          [{ddl_ops}] DDL
          [{mlsl_ops}] MLSL
          [{mpi_ops}] MPI
          [{gloo_ops}] Gloo\
        '''.format(
            version=horovod.__version__,
            tensorflow=CheckBuildAction.get_check(
                extension_available('tensorflow')),
            torch=CheckBuildAction.get_check(extension_available('torch')),
            mxnet=CheckBuildAction.get_check(extension_available('mxnet')),
            mpi=CheckBuildAction.get_check(mpi_built()),
            gloo=CheckBuildAction.get_check(gloo_built()),
            nccl_ops=CheckBuildAction.get_check(nccl_built()),
            ddl_ops=CheckBuildAction.get_check(ddl_built()),
            mpi_ops=CheckBuildAction.get_check(mpi_built()),
            mlsl_ops=CheckBuildAction.get_check(mlsl_built()),
            gloo_ops=CheckBuildAction.get_check(gloo_built()))
        print(textwrap.dedent(output))
        os._exit(0)
Ejemplo n.º 2
0
 def test_mxnet_available(self):
     """Test that MXNet support has been built."""
     available = extension_available('mxnet')
     try:
         self.assertTrue(available)
     except:
         self.assertFalse(available)
Ejemplo n.º 3
0
 def test_torch_available(self):
     """Test that PyTorch support has been built."""
     available = extension_available('torch')
     try:
         self.assertTrue(available)
     except:
         self.assertFalse(available)
Ejemplo n.º 4
0
 def test_tensorflow_available(self):
     """Test that TensorFLow support has been built."""
     available = extension_available('tensorflow')
     try:
         self.assertTrue(available)
     except:
         self.assertFalse(available)
Ejemplo n.º 5
0
def check_build(verbose):
    def get_check(value):
        return 'X' if value else ' '

    output = '''{verbose_newline}\
    Horovod v{version}:

    Available Frameworks:
        [{tensorflow}] TensorFlow
        [{torch}] PyTorch
        [{mxnet}] MXNet

    Available Controllers:
        [{mpi}] MPI
        [{gloo}] Gloo

    Available Tensor Operations:
        [{nccl_ops}] NCCL
        [{ddl_ops}] DDL
        [{ccl_ops}] CCL
        [{mpi_ops}] MPI
        [{gloo_ops}] Gloo\
    '''.format(verbose_newline='\n' if verbose else '',
               version=horovod.__version__,
               tensorflow=get_check(
                   extension_available('tensorflow', verbose=verbose)),
               torch=get_check(extension_available('torch', verbose=verbose)),
               mxnet=get_check(extension_available('mxnet', verbose=verbose)),
               mpi=get_check(mpi_built(verbose=verbose)),
               gloo=get_check(gloo_built(verbose=verbose)),
               nccl_ops=get_check(nccl_built(verbose=verbose)),
               ddl_ops=get_check(ddl_built(verbose=verbose)),
               mpi_ops=get_check(mpi_built(verbose=verbose)),
               ccl_ops=get_check(ccl_built(verbose=verbose)),
               gloo_ops=get_check(gloo_built(verbose=verbose)))
    print(textwrap.dedent(output))
    os._exit(0)