def __init__(self, ctx): try: import nnabla.communicators as C comm = C.MultiProcessDataParallelCommunicator(ctx) comm.init() self.n_procs = comm.size self.rank = comm.rank self.local_rank = comm.local_rank self.comm = comm except Exception as e: print(e) print('No communicator found. Running with a single process. If you run this with MPI processes,' ' all processes will perform totally same.') self.n_procs = 1 self.rank = 0 self.local_rank = 0 self.comm = None if len(ctx.device_id) > 0: ctx.device_id = str(int(ctx.device_id) + int(self.local_rank)) self.ctx = ctx self.ctx_float = create_float_context(ctx) logger.info("[Communicator] Using gpu_id = {} as rank = {}".format( self.ctx.device_id, self.rank))
def __init__(self, ctx): try: comm = C.MultiProcessDataParallelCommunicator(ctx) except Exception as e: print(e) print('No communicator found. Running with a single process. If you run this with MPI processes, all processes will perform totally same.') self.n_procs = 1 self.rank = 0 self.ctx = ctx self.ctx_float = create_float_context(ctx) self.comm = None return comm.init() self.n_procs = comm.size self.rank = comm.rank self.ctx = ctx self.ctx.device_id = str(self.rank) self.ctx_float = create_float_context(self.ctx) self.comm = comm
def __init__(self, ctx): try: import nnabla.communicators as C comm = C.MultiProcessDataParallelCommunicator(ctx) except Exception as e: print(e) print('No communicator found. Running with a single process. If you run this with MPI processes,' ' all processes will perform totally same.') self.n_procs = 1 self.rank = 0 if ctx.context == "cpu" else int(ctx.device_id) self.ctx = ctx self.comm = None return comm.init() self.n_procs = comm.size self.rank = comm.rank self.ctx = ctx self.ctx.device_id = str(self.rank) self.comm = comm