double precision tole /1.0d-1/
integer i,itj,ii,iii,j,k,l,licz
integer ir,ib,ipar,iparm
- integer iscor,islice
+ integer iscor,islice,scount_buff(0:99)
real*4 csingle(3,maxres2)
double precision energ
double precision temp
121 continue
enddo
#ifdef MPI
- scount(me)=iii
- write (iout,*) "Me",me," scount",scount(me)
+ scount_buff(me)=iii
+ write (iout,*) "Me",me," scount_buff",scount_buff(me)
call flush(iout)
c Master gathers updated numbers of conformations written by all procs.
- call MPI_AllGather( scount(me), 1, MPI_INTEGER, scount(0), 1,
+c call MPI_AllGather(MPI_IN_PLACE,1,MPI_DATATYPE_NULL,scount(0),1,
+c & MPI_INTEGER, WHAM_COMM, IERROR)
+ call MPI_AllGather( scount_buff(me), 1, MPI_INTEGER, scount(0), 1,
& MPI_INTEGER, WHAM_COMM, IERROR)
+
indstart(0)=1
indend(0)=scount(0)
do i=1, Nprocs-1
double precision energ
integer ilen,iroof
external ilen,iroof
- integer ir,ib,iparm
+ integer ir,ib,iparm, scount_buff(0:99)
integer isecstr(maxres)
write (licz2,'(bz,i2.2)') islice
call opentmp(islice,ientout,bprotfile_temp)
external ilen,iroof
double precision rmsdev,energia(0:max_ene),efree,eini,temp
double precision prop(maxQ)
- integer ntot_all(maxslice,0:maxprocs-1)
+ integer ntot_all(maxslice,0:maxprocs-1), maxslice_buff
integer iparm,ib,iib,ir,nprop,nthr,npars
double precision etot,time
integer ixdrf,iret
#ifdef MPI
c Check if everyone has the same number of conformations
- call MPI_Allgather(stot(1),maxslice,MPI_INTEGER,
+
+c call MPI_ALLgather(MPI_IN_PLACE,stot(1),MPI_DATATYPE_NULL,
+c & ntot_all(1,0),maxslice,MPI_INTEGER,MPI_Comm_World,IERROR)
+
+ maxslice_buff=maxslice
+
+ call MPI_Allgather(stot(1),maxslice_buff,MPI_INTEGER,
& ntot_all(1,0),maxslice,MPI_INTEGER,MPI_Comm_World,IERROR)
lerr=.false.
do i=0,nprocs-1