def _perform_common_init_tasks(): # create the sorter hoomd.context.current.sorter = hoomd.update.sort() # create the default compute.thermo on the all group hoomd.util.quiet_status() all = hoomd.group.all() hoomd.compute._get_unique_thermo(group=all) hoomd.util.unquiet_status() # set up Communicator, and register it with the System if _hoomd.is_MPI_available(): cpp_decomposition = hoomd.context.current.system_definition.getParticleData( ).getDomainDecomposition() if cpp_decomposition is not None: # create the c++ Communicator if not hoomd.context.exec_conf.isCUDAEnabled(): cpp_communicator = _hoomd.Communicator( hoomd.context.current.system_definition, cpp_decomposition) else: cpp_communicator = _hoomd.CommunicatorGPU( hoomd.context.current.system_definition, cpp_decomposition) # set Communicator in C++ System hoomd.context.current.system.setCommunicator(cpp_communicator)
def _init_communicator(self): """Initialize the Communicator.""" # initialize communicator if hoomd.version.mpi_enabled: pdata = self.state._cpp_sys_def.getParticleData() decomposition = pdata.getDomainDecomposition() if decomposition is not None: # create the c++ Communicator if isinstance(self.device, hoomd.device.CPU): cpp_communicator = _hoomd.Communicator( self.state._cpp_sys_def, decomposition) else: cpp_communicator = _hoomd.CommunicatorGPU( self.state._cpp_sys_def, decomposition) # set Communicator in C++ System self._cpp_sys.setCommunicator(cpp_communicator) self._system_communicator = cpp_communicator else: self._system_communicator = None else: self._system_communicator = None