https://github.com/JeffersonLab/chroma
Tip revision: 3cfccec16ca271193cd24c82b8c72eb8af88781e authored by edwards on 17 January 2005, 04:00:52 UTC
Info on 1.18.3
Info on 1.18.3
Tip revision: 3cfccec
NEWS
01/16/2005 -- Robert Edwards
Version 1.18.3. Added more 5D monomials. Added Pauli-Villars
for contfrac5d.
01/15/2005 -- Robert Edwards
Version 1.18.2. Fixed norms on new gaugeacts. Seem okay.
01/15/2005 -- Balint Joo
Version 1.18.1. Added missing include files to lib/Makefile.am
Fixed norms on new gaugeacts. Seem okay.
01/14/2005 -- Robert Edwards
Version 1.18.0. Major housecleaning. All lib routines now in
Chroma namespace. Removed all "using" directives in lib routines.
The QDP namespace is however, "used" in chromabase.h
01/14/2005 -- Robert Edwards
Version 1.17.1. Some code cleanups/namespaces. Logging in HMC.
Merged in Al Hart's changes.
01/13/2005 -- Balint Joo
Version 1.17.0. Major reorg of molecdyn dir. Files split and
rearranged. Basic HMC structure in place - still some polishing.
Gauge acts like plaq,rect,pg seem to all work.
01/12/2005 -- Robert Edwards
Version 1.16.1. Added new gauge actions (wrappers over plaq,rect,pg).
01/12/2005 -- Robert Edwards
Version 1.16.0. Rearranged actions/gauge directories.
01/12/2005 -- Robert Edwards
Version 1.15.5. More hardening of HMC. Some bug fixes in gaugeacts.
01/11/2005 -- Robert Edwards
Version 1.15.4. Added plaq,rect,pg gaugeacts. Made gauge monomial
class generic.
01/11/2005 -- Robert Edwards
Version 1.15.3. More hardeninng of HMC. Chrono prediction added.
Added ParWilson (Twisted Mass Wilson) support within HMC.
01/10/2005 -- Robert Edwards
Version 1.15.2. Changed HMC monomial routines to more generic
method.
01/10/2005 -- Robert Edwards
Version 1.15.1. Some more HMC suport. Small code cleanups
to make code pass -Wall.
01/07/2005 -- Robert Edwards
Version 1.15.0. Added SSE qpropT for DWF.
01/06/2005 -- Robert Edwards
Version 1.14.3. HMC support appears fixed.
01/04/2005 -- Robert Edwards
Version 1.14.2. Added linOpPV back into FermAct5D hierachy.
Rearranged and extended Monomial support which now has a 4D
and 5D branch. Abstracted derivative/refresh codes. Added
new monomials.
01/04/2005 -- Robert Edwards
Version 1.14.1. Small changes in derivative support.
01/01/2005 -- Robert Edwards
Version 1.14.0. Another major overhaul of FermionAction
classes. The concept of derivative is pushed up higher in
the tree. All fermacts now have some default derivative
support (possibly nothing more than Not Implemented message).
Qprop and QpropT now produced via factory functions ala
LinearOperators. Now have a SystemSolver class - can be used
for all solvers.
01/01/2005 -- Robert Edwards
Version 1.13.1. HMC now runs, but still needs work.
12/29/2004 -- Robert Edwards
Version 1.13.0. Rearranged top-level FermionAction support.
Consolidated FermFactories.
12/29/2004 -- Robert Edwards
Version 1.12.1. HMC changes and support for gauge and
ferm Monomials.
12/23/2004 -- Robert Edwards
Version 1.12.0. Now have a FermBC factory/foundries. Removed
explicit FermBC args from FermAct factories and now the creation
of the FermBC is done within the construction of the FermAct.
Similarly, HMC will create FermActs as needed. The old "boundary"
within propagator.cc input is now shoved into the FermionAction
xml.
12/23/2004 -- Robert Edwards
Version 1.11.3. More HMC changes.
12/22/2004 -- Robert Edwards
Version 1.11.2. New HMC support. First versions of Monomials.
12/15/2004 -- Robert Edwards
Version 1.11.1. Fixed chroma_config (for libs). Moved other routines
to chroma namespace. Added more to EXTRA_DIST .
12/12/2004 -- Robert Edwards
Version 1.11.0. Major overhaul of fermact and linearop class
structure. Removed dsdu stuff - now in linops. Introduced
levels of fermacts (base or not) that have derivs. All low
level fermacts/linops have an additional template param for
type of conjugate momenta in derivative. Made all fermacts and
linops within chroma namespace.
12/09/2004 -- Robert Edwards
Version 1.10.2. Changed prec. DWF-base to have linOp4D only
use prec. 5D operators.
12/09/2004 -- Robert Edwards
Version 1.10.1. Small fixes/tweaks
12/09/2004 -- Robert Edwards
Version 1.10.0. Overhaul of DWF-like class structure.
12/06/2004 -- Robert Edwards
Version 1.9.2. Changes to staggered stuff. Start of xmldiff checks.
11/22/2004 -- Robert Edwards
Version 1.9.1. Removed last of all Namelist-isms.
11/22/2004 -- Robert Edwards
Version 1.9.0. Big merge of Wilson and Staggered builds - now all
the same. Cleaned up automake files so make distcheck should work.
11/20/2004 -- Robert Edwards
Version 1.8.2. More changes within Zolo Ferm support.
Changed staggered files to use LatticeStaggeredFermion
10/21/2004 -- Robert Edwards
Version 1.8.1. More updates. First start of Zolo in NEF.
10/18/2004 -- Robert Edwards
Version 1.8.0. First version. Changed to support QMP-2. New fermion action
initialization. New support for variable initialization.
09/28/2004 -- Balint
-- ZolotarevStateInfo has been renamed to OverlapStateInfo
( and the previous empty OverlapStateInfo base class has been removed)
-- I have added the state_info field to Propagator_Input_t
as a standard string. I had it in ChromaProp_t first but I
believe it should not be part of the <Param> </Param>
tagset but rather live at the same level as Cfg_t in the
top level applications. Look in propagator.cc to see how
I manage it. Essentially I do this (propagator.cc line 84):
// Read any auxiliary state information
// if it exists
if( inputtop.count("StateInfo") == 1 ) {
XMLReader xml_state_info(inputtop, "StateInfo");
std::ostringstream os;
xml_state_info.print(os);
input.stateInfo = os.str();
}
else {
// Write an empty <?xml ... ><StateInfo/> document if not
// found
XMLBufferWriter s_i_xml;
push(s_i_xml, "StateInfo");
pop(s_i_xml);
input.stateInfo = s_i_xml.str();
}
I have added dummy createState() functions to the various
fermacts that read from an XML containing StateInfo. Apart
from the overlap, these createState()-s just ignore
the XML, but this virtual func could be a good hook for you
if you add StateInfo to some ZolotarevCoeff-ed DWF fermacts.
In fact, if you just write these, they'll be picked up appropriately
by propagator...
A sample usage of state info is in
chroma/tests/propagator/propagator_zolo4d_v6.xml.in
-- As agreed, I have removed backward compatibility with
SZIN - type vectors in createOverlapState() -- now just
uses my evecs.
-- I have written factory functions for creating OverlapConnectState-s
in overlap_state.h overlap_state.cc. I originally wrote these
as templated funcs, but then I couldn't shove them into the .cc file
- they'd needed to have stayed in the .h file where the prototypes
are defined. So I did similar things to the Inverter functions.
I wrote out the "specialisations" in the .h file and wrapped a templated
version in the .cc. Your fermact's createState()-s can just dive on these
see ovlap_partfrac_4d_fermact_w.[h,cc]. The issue of 4D and 5D BC's is
hacked around as discussed:
i) The aux ferm act gets trivial BC-s. This doesn't matter as
we never use them. We always use the BC-s of the parent.
ii) the createOverlapState() function is passed a linOp which
the caller FermAct constructs. AuxMass is therefore no longer
passed
iii) the createOverlapState() function creates a SimpleConnectState
internally to call the passed linOp with, after applying
the modifyU() function of the passed FermBC
-- Zolotarev4DFermAct and Zolotarev5DFermActArray have been renamed:
as OverlapPartFrac4DFermAct
and
UnprecOverlapContFrac5DFermActArray
and put in ovlap_partfrac4d_fermact_w.[h,cc]
and unprec_ovlap_contfrac4d_fermact_array_w.[h,cc]
the zolotarev5d_linop_array_w.[h,cc] is still there but will
also be renamed real soon now.
-- I have removed the double mappings for backward compatibility
ZOLOTAREV_4D and ZOLOTAREV_5D are dead. Now you need to specify
something like:
<FermionAction>
<FermAct>OVERLAP_PARTIAL_FRACTION_4D</FermAct>
<IsChiral>true</IsChiral>
<ApproximationType>ZOLOTAREV</ApproximationType>
<Mass>0.04</Mass>
<RatPolyDeg>17</RatPolyDeg>
<InnerSolve>
<MaxCG>1000</MaxCG>
<RsdCG>1.0e-7</RsdCG>
<ReorthFreq>20</ReorthFreq>
</InnerSolve>
<AuxFermAct>
<FermAct>UNPRECONDITIONED_WILSON</FermAct>
<Mass>-1.4</Mass>
</AuxFermAct>
</FermionAction>
Other new FermActs:
"UNPRECONDITIONED_OVERLAP_CONTINUED_FRACTION_5D"
and soon "OVERLAP_CONTINUED_FRACTION_5D" (which will be preconditioned)
ApproximationType can be "ZOLOTAREV" or "TANH" for now.
Robert feel free to add your own here if you want.
io/enum_io/enum_coeffs_io.[h,cc]
io/enum_io/enum_fermacttype_io.[h,cc]
I have removed therefore the old XML input files from the repository
and added in the new ones.
-- Approximation type can now also be TANH with the following caveats:
i) rescaling: I am still not clear on this. I may not need
to do this at all or I may need to do it the same way
as done in the ZOLO case. I'll ask Tony.
ii) projection: I saw in your paper that in the Borici
(TANH) case, the EigValFunc is not signum but in fact
the polar approximation: \epsilon_{Ls/2}
-- Also note from the above XML, that as agreed, I pushed the IsChiral
to be a user supplied parameter. So that if we have a bad approximation
for Zolotarev we can set it to false. Likewise if we have a supremely
high order tanh approximation with projection so that we are effectively
chiral then you can set it to true.
-- fermact_paramio.h fermact_paramio.cc zolotarev4d_fermact_paramio.h
zolotarev4d_fermact_paramio.cc are GONE (removed from CVS)
zolotarev5d_fermact_paramio.[h,cc] are still around but
will be gone real soon now.
08/30/2004 -- Robert Edwards
Version 1.7.4. Really, these are the last changes before 1.8
08/30/2004 -- Robert Edwards
Version 1.7.3. Last changes before 1.8
08/20/2004 -- Robert Edwards
Version 1.7.2. Changed wall-FF codes to allow wall-source.
08/20/2004 -- Robert Edwards
Version 1.7.1. Some more hmc support.
08/01/2004 -- Robert Edwards
Version 1.7.0. Added SSE_DWF_CG support.
07/27/2004 -- Robert Edwards
Version 1.6.2. Changed START/END_CODE() to not have first arg.
07/27/2004 -- Robert Edwards
Version 1.6.1. Changed sink_smear2_w.{h,cc} to fermion indep.
sink_smear2.{h,cc}. Other small lib/Makefile.am fixes.
07/26/2004 -- Robert Edwards
Version 1.6.0. New HMC support. New profiling support.
Changed mem. layout to remove PDWVector layer - only matters
for SSE routines. Removed completely all uses, decls, files
with LatticeDWFermion.
07/13/2004 -- Robert Edwards
Version 1.5.20. Final version before minor release of QDP breaks old
usage of LatticeDWFermion.
06/08/2004 -- Robert Edwards
Version 1.5.19. Modifed Wallformfac mainprog to write binary.
06/08/2004 -- Robert Edwards
Version 1.5.18. Wallformfac codes debugged to some
extent. Added new delta operators in baryons_w.cc .
Time for major tests.
05/28/2004 -- Robert Edwards
Version 1.5.17. Changed Coulomb gfixing to use gauge transf matrices.
Put relaxed solvers in for overlap and into things like quarkProp4
05/27/2004 -- Robert Edwards
Version 1.5.16. Fixed SciDAC gauge IO to always read/write in
single prec. Fixed initialization in multi-mass quark prop.
05/25/2004 -- Robert Edwards
Version 1.5.15. Fixed KYU qprop readers to correct basis.
Completed insertion of GMRES and relaxed codes. Also inner
"preconditioned" versions.
05/19/2004 -- Robert Edwards
Version 1.5.14. Relaxed solvers for overlap appear to work. Now have
BiCG codes, SUMR, CG, etc. and multi-mass variants. Fixed KYU qprop
reader.
05/13/2004 -- Robert Edwards
Version 1.5.13. QQQ program now can output in Dirac or Degrand-Rossi
basis. Made basis rotation more public.
05/13/2004 -- Balint Joo
Version 1.5.12. Working multi-mass SUMR code.
05/12/2004 -- Robert Edwards
Version 1.5.11. Tidying in the sequential source/prop reader/writers.
Working SUMR codes. Overlap under development to use new tricks.
05/04/2004 -- Balint Joo
Version 1.5.10. Overlap double pass appears okay.
05/02/2004 -- Robert Edwards
Version 1.5.9. Qproptransf codes in place. Now have completed
conversion to new seqsource/propagator qprop format.
04/29/2004 -- Robert Edwards
Version 1.5.8. Wall-formfactor code appears to work and agree
with bar3ptfn code with a wall sink.
04/29/2004 -- Balint Joo
Version 1.5.7. Changed auto-isms to allow correct installation. Fixed
chroma-config to be useful. Now have a chroma_config.h and internal.h.
04/27/2004 -- Robert Edwards
Version 1.5.6. Last changes (mostly overlap) before splitup of main codes.
04/23/2004 -- Robert Edwards
Version 1.5.5. More support for overlap.
04/22/2004 -- Robert Edwards
Version 1.5.4. BUG FIX in baryon_w.cc . The proton_{4,5,6} were converted
incorrectly from szin.
Cleanups in gauge initialization. Overlap support now in propagator codes.
04/21/2004 -- Robert Edwards
Version 1.5.3. New version of propagator input. New wall-sink
formfactor codes. New multi-prop. support.
04/05/2004 -- Robert Edwards
Version 1.5.2. Start of support for SZINQIO.
04/01/2004 -- Robert Edwards
Version 1.5.1. Added non-relativistic support to seqprop.
02/22/2004 -- Robert Edwards
Version 1.5.0. Major change in propagator model in main programs. ONLY
support SciDAC format of propagators. Now, the "Param" group on input is the
header of some propagator. There are XML and binary parts of propagators
(SciDAC format). The XML part is used in subsequent calculations, thus removing
potentially erroneous use of input params in calcs.
All test files changed to match
02/22/2004 -- Robert Edwards
Version 1.4.4. Some new programs added. Fixed make_source/propagator/seqprop/spectrum
chain of tests to be consistent and give reasonable output. Cross-checked against
new (un-committed) XML driven input/output model.
01/27/2004 -- Robert Edwards
Version 1.4.3. Overhauled SSE Wilson dslash support. New index tables.
01/26/2004 -- Robert Edwards
Version 1.4.2. More eigenvalue stuff. Tagging pre-release of the
new SSE Wilson dslash support.
01/07/2004 -- Robert Edwards
Version 1.4.1. Functioning Zolotarev code by Balint Joo.
Also, added WILSON and STAGGERED build control.
01/01/2004 -- Robert Edwards
Version 1.4.0. Removed all proxies. Switched to only use Handles
(proxies were just glorified handles). Changed fermact factory
functions to require a Handle<const ConnectState> instead of a
pointer to a connect state. Added Fermion and Gauge BC support.
Now a new virtual getFermBC in FermAct. Now, the semantics is
the FermAct is responsible for applying the Fermionic BC. All
the fermacts changed to pass a FermBC which is then applied
to the U fields in createState. This is supplied as a default
in createState.
First tentative code for pure gauge heatbath and dyn. ferm. HMC.
12/31/2003 -- Robert Edwards
Version 1.3.2. More tweaks in fermacts. Added first versions
of heatbath and HMC (not working yet).
This is a pre-release before major changes to come. The next
version changes substantially the fermacts - now gauge and
fermion BC are included in the proper way.
12/06/2003 -- Robert Edwards
Version 1.3.1. Added various gauge fixing routines.
12/02/2003 -- Robert Edwards
Version 1.3.0. Another overhaul of FermionAction support. Now
create and pass around gauge connection state.
12/01/2003 -- Robert Edwards
Version 1.2.1. Minor tweaks. Pre-release for 1.3.0 .
11/23/2003 -- Robert Edwards
Version 1.2.0. Overhauled FermionAction and LinearOperator. Added
new even-odd preconditioned support.
11/20/2003 -- Robert Edwards
Version 1.1.4. Switched LinearOperator and FermionAction interfaces to
pass what was return type as instead argument to operator() & apply (linop)
and dsdu (fermact).
11/20/2003 -- Robert Edwards
Version 1.1.3. Small tweaks.
11/16/2003 -- Robert Edwards
Version 1.1.2. Added extended-overlap action and linop.
11/14/2003 -- Robert Edwards
Version 1.1.1. Rearranged fermact files and made more base classes.
Merged separate dsdu and qprop files into corresponding fermact files.
11/14/2003 -- Robert Edwards
Version 1.1.0. Added array versions of fermacts. Now have functioning
unprecondition DWF operator.
10/09/2003 -- Robert Edwards
Version 1.0.1. Changed all cout/cerr/QDP_info to use QDPIO::cout/cerr.
10/07/2003 -- Robert Edwards
Version 1.0.0. First major release. Supports sse extensions. Several
bits in production. More to come.