QCDimMPI

PURE QCD MONTE CARLO SIMULATION CODE with MPI
improved action version

version 0.9 (1998/7/9)

Atsushi Nakamura
(nakamura@riise.hiroshima-u.ac.jp

and

Shinji Hioki
Department of Physics, Tezukayama University,
Tezukayama 7-1-1, Nara 631, JAPAN
(hioki@tezukayama-u.ac.jp)

Copyright (c) 1998, Atsushi Nakamura and Shinji Hioki
All rights reserved.


QCDimMPI.0.9.tar.Z


***********************************************************************
*
*                                QCDimMPI
*
*            PURE QCD MONTE CARLO SIMULATION CODE with MPI
*                       improved action version
*
*                              version 0.9
*
*                            Astushi Nakamura
*
*
*
*
*                                   and
*
*                              Shinji Hioki
*              Department of Physics, Tezukayama University,
*                    Tezukayama 7-1-1, Nara 631, JAPAN
*                      (hioki@tezukayama-u.ac.jp)
*
*          Copyright (c) 1998, Astushi Nakamura & Shinji Hioki 
*                         All rights reserved.
*
***********************************************************************
*       This package is free software and you can use this under:
*        "the GNU General Public Lisense" published by the FSF.
***********************************************************************

                                README

                           VERSION HISTORY

     ver. 0.9, 1998/7/8 - original

       o modified from QCDMPI ver 1.5

                             REFERENCES

        o S.Hioki, Nucl.Phys.B(Proc.Suppl.)42(1995)870-872.
        o S.Hioki, Parallel Computing 22 (1996) 1335-1344.
        o S.Hioki and A.Nakamura, Proceedings of PCW96


                              CONTENTS

              1) FILES INCLUDED IN THE DISTRIBUTION
              2) HOW TO SET PARAMETERS AND MACHINES
               2-0) You can run on a Single Machine, immediately !!!
               2-1) Parameters in params
               2-2) Parameter Examples:
               2-3) Machines and Options in makefile
              3) EXECUTION EXAMPLES

                          BUGS AND COMMENTS

           o in the random number generator routines, 
             4-byte integer is assumed.

           o feel free to send bugs and comments to the author:
             Shinji Hioki (hioki@tezukayama-u.ac.jp).

           o for up-to-date information see URL:
             http://insam.sci.hiroshima-u.ac.jp/QCDMPI/

*************************************
1) FILES INCLUDED IN THE DISTRIBUTION
*************************************

-------------------------------------------------------------
  NAME		ROLE			COMMENTS
-------------------------------------------------------------
o machine dependent files

  makefile	makefile		compiler,options,machine dependent
  params	parameters		lattice size, number of processors
					lattice division
  input		input parameters	beta,rbeta,nsweep,iseed

  - dependent but automatically set by preprocessor (do not change)

  qcd.F		main qcd program	
  comm.F	communication routines	

o machine independent files

  staple.f	staple construction in Wilson Action
  lib_staple.f	libraries for staple.f
  phb.f		update (pseudo heat bath) routines
  lib_phb.f	libraries for phb.f
  su3.f		libraries for su(3) matrix
  ran.f		parallel random number generator	4-byte integer assumed

o document

  README	this file

-------------------------------------------------------------

*************************************
2) HOW TO SET PARAMETERS AND MACHINES
*************************************

2-0) First you can run on a Single Machine (If you want.)

 Withour any modifications and new settings, you can run this module as;

 1) make
 2) ./qcd
 3) compare output with 3-1) below

 If there are any errors, read the followings !!!

2-1) Parameters in params

ndim             : dimension of the system (=N below, ndim=4 default)

ng1, ng2,.. ,ngN : (global) lattice size /2 in each direction 
                   (ngN: even number)

                   NOTE: *************************************************
                     here we think 2**ndim box as a unit of labelling
                     true lattice size becomes: 2*ng1, 2*ng2, ... , 2*ngN
                   *******************************************************

np1, np2,.. ,npN : number of processors in each direction
                   (if npM=1, direction M does NOT divided into processors)

n1, n2,.. ,nN    : (local) # of boxes in each direction on a processor
                   local lattice size becomes: 2*n1, 2*n2, ... , 2*nN

np(ndim)         : array for np1, np2,.. ,npN
ns(ndim)         : array for n1, n2,.. ,nN

o INPUT 

beta             : SU(3)coupling parameter g (beta=6/g**2)
rbeta            : =beta12/beta
nsweep           : number of iterations of updating
iseed            : number which distinguish random numbers
                   (MUST change job by job)

o OUTPUT

plaq             : plaquette value
link update time : elapsed time to update one link
comm bandwidth   : includes soft- & hardware latency & genuine bandwidth

2-2) Parameter Examples:

o 4-dim QCD of size 16**3*32 on 4**4 processors
     parameter(ndim=4)
     parameter(ng1=8,ng2=8,ng3=8,ng4=16)
     parameter(nc1=4,nc2=4,nc3=4,nc4=4)
     parameter(nbmax=max(nv/n1,nv/n2,nv/n3,nv/n4)/2)

o 3-dim QCD of size 16**3 on 4*2 processors
     parameter(ndim=3)
     parameter(ng1=8,ng2=8,ng3=8)
     parameter(nc1=4,nc2=2,nc3=1)
     parameter(nbmax=max(nv/n1,nv/n2)/2)
c    np(4)=np4 ! comment out or delete this line
c    ns(4)=n4  ! comment out or delete this line

o 4-dim QCD of size 8*12*16*24 on a single processor
     parameter(ndim=4)
     parameter(ng1=4,ng2=6,ng3=8,ng4=12)
     parameter(nc1=1,nc2=1,nc3=1,nc4=1)
     parameter(nbmax=1) !or any positive integer

2-3) Machines and Options in makefile

     you MUST set F77, F77FLAGS and ARC variables
     uncomment according to your machine and options
 
eg.) on MPI machines, uncomment MPI part and coment other parts:

### MPI (eg. MPICH)
     F77            =       mpif77
     F77FLAGS       =       -O
     ARC            =       MPI


*********************
3) EXECUTION EXAMPLES
*********************


END of README ********************************************


Shinji Hioki (hioki@tezukayama-u.ac.jp)