projects
/
unres.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
changes to avoid PMPI_Scatterv: Invalid buffer pointer in Intel MPI
[unres.git]
/
source
/
unres
/
src_MD-M
/
lagrangian_lesyng.F
diff --git
a/source/unres/src_MD-M/lagrangian_lesyng.F
b/source/unres/src_MD-M/lagrangian_lesyng.F
index
89fde29
..
3398091
100644
(file)
--- a/
source/unres/src_MD-M/lagrangian_lesyng.F
+++ b/
source/unres/src_MD-M/lagrangian_lesyng.F
@@
-476,7
+476,7
@@
c---------------------------------------------------------------------------
include 'COMMON.TIME1'
include 'COMMON.MD'
double precision z(dimen3),d_a_tmp(dimen3),temp(maxres6),time00
include 'COMMON.TIME1'
include 'COMMON.MD'
double precision z(dimen3),d_a_tmp(dimen3),temp(maxres6),time00
- &time01
+ &,time01,zcopy(dimen3)
#ifdef MPI
if (nfgtasks.gt.1) then
if (fg_rank.eq.0) then
#ifdef MPI
if (nfgtasks.gt.1) then
if (fg_rank.eq.0) then
@@
-497,7
+497,10
@@
c call MPI_Barrier(FG_COMM,IERROR)
time00=MPI_Wtime()
call MPI_Scatterv(z,ng_counts(0),ng_start(0),
& MPI_DOUBLE_PRECISION,
time00=MPI_Wtime()
call MPI_Scatterv(z,ng_counts(0),ng_start(0),
& MPI_DOUBLE_PRECISION,
- & z,3*my_ng_count,MPI_DOUBLE_PRECISION,king,FG_COMM,IERR)
+ & zcopy,3*my_ng_count,MPI_DOUBLE_PRECISION,king,FG_COMM,IERR)
+ do i=1,3*my_ng_count
+ z(i)=zcopy(i)
+ enddo
c write (2,*) "My chunk of z"
c do i=1,3*my_ng_count
c write (2,*) i,z(i)
c write (2,*) "My chunk of z"
c do i=1,3*my_ng_count
c write (2,*) i,z(i)
@@
-628,7
+631,7
@@
c---------------------------------------------------------------------------
include 'COMMON.LANGEVIN.lang0'
#endif
double precision z(dimen3),d_a_tmp(dimen3),temp(maxres6),time00
include 'COMMON.LANGEVIN.lang0'
#endif
double precision z(dimen3),d_a_tmp(dimen3),temp(maxres6),time00
- &time01
+ &,time01,zcopy(dimen3)
#ifdef MPI
if (nfgtasks.gt.1) then
if (fg_rank.eq.0) then
#ifdef MPI
if (nfgtasks.gt.1) then
if (fg_rank.eq.0) then
@@
-642,7
+645,11
@@
c call MPI_Barrier(FG_COMM,IERROR)
time00=MPI_Wtime()
call MPI_Scatterv(z,ng_counts(0),ng_start(0),
& MPI_DOUBLE_PRECISION,
time00=MPI_Wtime()
call MPI_Scatterv(z,ng_counts(0),ng_start(0),
& MPI_DOUBLE_PRECISION,
- & z,3*my_ng_count,MPI_DOUBLE_PRECISION,king,FG_COMM,IERR)
+ & zcopy,3*my_ng_count,MPI_DOUBLE_PRECISION,king,FG_COMM,IERR)
+
+ do i=1,3*my_ng_count
+ z(i)=zcopy(i)
+ enddo
c write (2,*) "My chunk of z"
c do i=1,3*my_ng_count
c write (2,*) i,z(i)
c write (2,*) "My chunk of z"
c do i=1,3*my_ng_count
c write (2,*) i,z(i)