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
*
* 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 ********************************************