Merge pull request #1198 from edoapra/fix_pme_peigscomm

Completing fix for #1196
This commit is contained in:
Edoardo Aprà 2025-11-05 05:43:25 -08:00 committed by GitHub
commit 07a500dc18
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 37 additions and 21 deletions

View file

@ -56,17 +56,14 @@ c
integer nelebk
INTEGER NAPROC, ME, N1MAX, N2MAX, I
INTEGER LSTCNT
integer max
INTEGER MXNPRC, MXMYND
integer m2, mmax,nmax, iii, nele
intrinsic max
c
EXTERNAL LSTCNT
EXTERNAL MXNPRC, MXMYND
*-----------------------------------------------------------------------
c
INTEGER MXNPRC, MXMYND
NAPROC = MXNPRC()
ME = MXMYND()
INFO = 0
c
c computes the large number of panels that is stored on map1(1:n3) and

View file

@ -7,12 +7,13 @@ c************************************************************************
#include "errquit.fh"
INTEGER icontext
integer nprow, npcol, myrow, mycol
integer nnodes, nodeid, nproc, me
#include "nwfft3d.fh"
integer nproc, me
integer icontext1, icontext2
common /xparms/nprow,npcol,myrow,mycol
nproc = nnodes()
me = nodeid()
me = util_mpicommrank()
nproc = util_mpicommsize()
nprow = 1
npcol = nproc
c obtain system default and map to a row

View file

@ -68,8 +68,9 @@ c *** local variables
c integer isize
c parameter (isize=128*128*128)
c integer iwork(isize)
c double precision work(isize)
integer nodeid,nnodes,me,nproc
c double precision work(isize)
#include "nwfft3d.fh"
integer me,nproc
#ifdef ESSLFFT
data iESSL /0/
save iESSL
@ -82,8 +83,12 @@ c double precision work(isize)
data computedMap /0/
save computedMap
*
me = nodeid()
nproc = nnodes()
me = util_mpicommrank()
nproc = util_mpicommsize()
if(nproc.eq.0) then
write(0,*) ' error me nproc ',me,nproc
call errquit(" error ",0,0)
endif
isign=idir
if(isign.lt.-1) isign=-1

View file

@ -0,0 +1,3 @@
integer util_mpicommsize,util_mpicommrank
external util_mpicommsize,util_mpicommrank

View file

@ -94,8 +94,7 @@ c Create parallel processes and initialize IPC layer
c
call pbeginf()
C #ifdef PEIGS
#if 1
#ifdef PEIGS
c
c MXINIT is needed by PeIGS and PFFT to initialize
c the communication fabric they use.

View file

@ -193,9 +193,7 @@ c
external mynodes, numnodes
#endif
#ifdef TCGMSG
integer util_mpicommsize,util_mpicommrank
external util_mpicommsize,util_mpicommrank
cold external nodeid, nnodes
external nodeid, nnodes
#endif
#ifdef UNIPROC
ienv(1) = 0
@ -220,10 +218,8 @@ cold external nodeid, nnodes
ENDIF
#endif
#ifdef TCGMSG
cold ienv(1) = nodeid()
cold ienv(2) = nnodes()
ienv(1)=util_mpicommrank()
ienv(2)=util_mpicommsize()
ienv(1) = nodeid()
ienv(2) = nnodes()
#endif
#ifdef iPSC_NATIVE
ienv(1) = mynode ()
@ -644,7 +640,13 @@ c The obvious "mynode" function, for those tired of using the
c 'env' vector all the time.
c
#include "mxsubs.h"
#ifdef PEIGS
mxmynd = me
#else
integer util_mpicommrank
external util_mpicommrank
mxmynd = util_mpicommrank()
#endif
return
end
@ -654,7 +656,13 @@ c The obvious "numprocs" function, for those tired of using the
c 'env' vector all the time.
c
#include "mxsubs.h"
#ifdef PEIGS
mxnprc = nproc
#else
external util_mpicommsize
integer util_mpicommsize
mxnprc = util_mpicommsize()
#endif
return
end
c

View file

@ -228,4 +228,7 @@ fi
fi
fi
fi
if [[ ! $(grep -i ine\ md_input $TRAVIS_BUILD_DIR/src/stubs.F| awk '/md_input/') ]]; then
cd $TRAVIS_BUILD_DIR/QA && ./runtests.mpi.unix procs $nprocs water/water_pme
fi
fi