code: def test_mpi_roundtrip():
      if not mpi_enabled:
          raise SkipTest("MPI not enabled")
      theano_root = theano.__file__.split("__init__")[0]
      env = os.environ.copy()
      flags = env.get("THEANO_FLAGS", "")
      keep_flags = ",".join(
          (
              f
              for f in flags.split(",")
              if not f.startswith("init_gpu_device")
          )
      )
      env["THEANO_FLAGS"] = keep_flags
      p = subprocess.Popen(
          "mpiexec -np 2 python "
          + theano_root
          + "tensor/tests/_test_mpi_roundtrip.py",
          stdin=subprocess.PIPE,
          stdout=subprocess.PIPE,
          stderr=subprocess.PIPE,
          shell=True,
          close_fds=True,
          env=env,
      )
      (stdout, stderr) = p.communicate()
  
      result = theano.compat.decode(stdout)
      assert "True" in result, theano.compat.decode(stderr)
  
file_path: Theano/theano/tensor/tests/test_mpi.py
imports: from __future__ import absolute_import, print_function, division
  import os
  import subprocess
  from nose.plugins.skip import SkipTest
  import theano
  from theano import change_flags
  from theano.compat import PY3
  from theano.gof.sched import sort_schedule_fn
  from theano.tensor.io import send, recv, mpi_cmps, MPISend, MPISendWait, mpi_send_wait_cmp, mpi_tag_cmp, mpi_enabled
label_desc: Use image node_id 4 for calling a global function with example usage: test_mpi_roundtrip() without return types