def get_pool(mpi=False,threads=1): if mpi: # using MPI from mpipool import MPIPool pool = MPIPool() pool.start() if not pool.is_master(): sys.exit(0) elif threads>1: # using multiprocessing from multiprocessing import Pool pool = Pool(processes=threads) else: raise RuntimeError,"Wrong arguments: either mpi=True or threads>1." return pool
def get_pool(mpi=False, threads=1): if mpi: # using MPI from mpipool import MPIPool pool = MPIPool() pool.start() if not pool.is_master(): sys.exit(0) elif threads > 1: # using multiprocessing from multiprocessing import Pool pool = Pool(processes=threads) else: raise RuntimeError, "Wrong arguments: either mpi=True or threads>1." return pool
def get_pool(mpi=False, threads=1): """ Create a thread pool for paralleling DEM simulations within GrainLearning :param mpi: bool, default=False :param threads: int, default=1 """ if mpi: # using MPI from mpipool import MPIPool pool = MPIPool() pool.start() if not pool.is_master(): sys.exit(0) elif threads > 1: # using multiprocessing from multiprocessing import Pool pool = Pool(processes=threads, maxtasksperchild=10) else: raise RuntimeError("Wrong arguments: either mpi=True or threads>1.") return pool