Unverified Commit bad1cdde authored by Steve Plimpton's avatar Steve Plimpton Committed by GitHub
Browse files

Merge pull request #831 from lammps/mpi4py-version

allow for mpi4py version 2 or 3 in Python wrapper
parents 626ca25d a1bb877d
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -88,8 +88,6 @@ lmp.command("run 10");

# uncomment if running in parallel via Pypar
#print("Proc %d out of %d procs has" % (me,nprocs), lmp)
#pypar.finalize()

# uncomment if running in parallel via mpi4py
#print "Proc %d out of %d procs has" % (me,nprocs), lmp
#MPI.Finalize()
#print("Proc %d out of %d procs has" % (me,nprocs), lmp)
+5 −5
Original line number Diff line number Diff line
@@ -46,17 +46,15 @@ class MPIAbortException(Exception):
  def __str__(self):
    return repr(self.message)


class lammps(object):
  
  # detect if Python is using version of mpi4py that can pass a communicator

  has_mpi4py_v2 = False
  has_mpi4py = False
  try:
    from mpi4py import MPI
    from mpi4py import __version__ as mpi4py_version
    if mpi4py_version.split('.')[0] == '2':
      has_mpi4py_v2 = True
    if mpi4py_version.split('.')[0] in ['2','3']: has_mpi4py = True
  except:
    pass

@@ -111,7 +109,9 @@ class lammps(object):
      # need to adjust for type of MPI communicator object
      # allow for int (like MPICH) or void* (like OpenMPI)

      if lammps.has_mpi4py_v2 and comm != None:
      if comm:
	if not lammps.has_mpi4py:
          raise Exception('Python mpi4py version is not 2 or 3')
        if lammps.MPI._sizeof(lammps.MPI.Comm) == sizeof(c_int):
          MPI_Comm = c_int
        else: