https://github.com/JeffersonLab/chroma
Raw File
Tip revision: eee3cf183cbeba52736887042f580339c16f8f87 authored by edwards on 13 January 2005, 01:53:02 UTC
Info on 1.15.5
Tip revision: eee3cf1
NEWS
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.
back to top