def context(): """ Fixture that produces an MPI sensitive `arbor.context` """ args = [arbor.proc_allocation()] if _mpi_enabled: if not arbor.mpi_is_initialized(): print("Context fixture initializing mpi", flush=True) arbor.mpi_init() atexit.register(_finalize_mpi) if _mpi4py_enabled: from mpi4py.MPI import COMM_WORLD as comm else: comm = arbor.mpi_comm() args.append(comm) return arbor.context(*args)
def run(): v = options.parse_arguments().verbosity if not arb.mpi_is_initialized(): arb.mpi_init() comm = arb.mpi_comm() alloc = arb.proc_allocation() ctx = arb.context(alloc, comm) rank = ctx.rank if rank == 0: runner = unittest.TextTestRunner(verbosity=v) else: sys.stdout = open(os.devnull, 'w') runner = unittest.TextTestRunner(stream=sys.stdout) runner.run(suite()) if not arb.mpi_is_finalized(): arb.mpi_finalize()
def setUpClass(self): self.local_mpi = False if not arb.mpi_is_initialized(): arb.mpi_init() self.local_mpi = True
def test_initialized_arbmpi(self): self.assertTrue(arb.mpi_is_initialized())
loader = unittest.TestLoader() suites = [] for test_module in test_modules: test_module_suite = test_module.suite() suites.append(test_module_suite) suite = unittest.TestSuite(suites) return suite if __name__ == "__main__": v = options.parse_arguments().verbosity if not arb.mpi_is_initialized(): print(" Runner initializing mpi") arb.mpi_init() if mpi4py_enabled: comm = arb.mpi_comm(mpi.COMM_WORLD) elif mpi_enabled: comm = arb.mpi_comm() alloc = arb.proc_allocation() ctx = arb.context(alloc, comm) rank = ctx.rank if rank == 0: runner = unittest.TextTestRunner(verbosity=v) else: