This is MILC Version 7 code Please note that a few of the application directories contain code that has not yet been ported to version 7. The following are supported application directories: arb_overlap clover_dynamical clover_invert2 ext_src file_utilities gauge_utilities gluon_prop hvy_qpot ks_eigen ks_imp_dyn ks_imp_rhmc ks_imp_utilities ks_measure ks_spectrum pure_gauge schroed_cl_inv schroed_ks_dyn smooth_inst symanzik_sl32 u1_gauge The following are provided, but not supported: arb_dirac_eigen arb_dirac_invert clover_hybrids h_dibaryon schroed_pg Build the code with GNU make. See the README file in this directory for general instructions. Here are highlights of the changes For version 7.8.1 Added support for QPhiX single and multimass staggered inversions Upgraded regression tests for ks_spectrum to allow QPhiX testing Added path product optimization by Rama Maladi and Steve Gottlieb Added improved QPhiX remapping More threading Restructured the top-level Makefile to provide variations for different architectures For version 7.8.0 Added Hiroshi Ono's staggered CG deflation and eigcg support to ks_measure Added Doug's updated random number generator for thread-safe operation and large lattices For version 7.7.13 More quark source/sink operators Added u1_gauge For version 7.7.11 Wilson flow code Clover and KS spectrum code supports linear combinations, extended sources, and extended propagation. Some Open MP threading. Support for QUDA-0.5.0 (Note: no multi-GPU support for the ks_imp_dyn/su3_rmd target) Quenched U(1) spectrum Quenched improved Fermilab (OK) action HYP smearing for hvy_qpot Variable stride for covariant Gaussian smearing KS and clover spectrum code supports time slice projection and sequential inversion Some bug fixes For version 7.7.5 Add staggered/clover hopping matrix source/sink operator for spectrum calculations. Support for general interpolating operators for staggered mesons. GPU/QUDA support for single-GPU HISQ molecular dynamics. multi-GPU support for asqtad (and HISQ) inverters. Consolidated support for clover and KS sources, allowing still more flexibility. Support for naive propagators arising from extended Dirac sources. New ks_measure for computing staggered scalar operators, such as psi-bar-psi, quark number susceptibilities, etc. Support for HISQ EOS, including Naik epsilon derivatives. Momentum twist and boundary twist capability. HISQ fermion force support in QOP plus some performance counters. Overhaul of the fermion links treatment. Added arb_overlap from DeGrand for computing eigenvalues and chirality of the overlap operator. For version 7.6.3 Standardization of byte counts for the header in the open-meson file generated by clover_invert2/su3_clov. Optimizations for memory and speed in clover_invert2 and ext_src Support multifile sources in ext_src. Latest updates of HISQ code from Alexei Bazavov. Further changes in metadata for FNAL correlator files Support open meson correlators for B_K project Add several new clover sources Add FFTW support Add gauge_utilities for translating the gauge field and standalone gauge fixing Add support for internal translation of sources for clover_invert* Updated MILC HISQ treatment For version 7.6.2 Revise metadata for FNAL correlator files in clover_invert2 Add QOP and QDP support for clover inversions. Add heavy-light-light baryon code from Heechang Na. Add ks_eigen code from version 6 and fix QDP support. Add ext_src for generating extended source from propagators Add some spectrum calculations to HISQ targets in ks_imp_rhmc Add HISQ fermion code from Doug and Alexei Add link and action coeffs to all fermion_force calls. Remove global accessor calls for these coeffs. Change normalization of point sink props in ks_hl_spectrum fix seg fault, and allow suppression of correlators in log file. Fix nrestart treatment in QOP inverter calls. For version 7.6.0 Adds pw_nr_meson. Does P-wave charmonium. Support for FNAL correlator format for ks_hl_spectrum. Support for double-precision NERSC archive lattices. clover_invert2 enlarges the capabilities of clover_invert. Support for changed QOPQDP Asqtad inverter conventions in qopqdp-0.10.1 with a backward compatibility option in Makefile. Partial preparation for HISQ: move calls for fat link creation out of all staggered dslash and congrad. Changes API for all ks_congrad and dslash calls - hence a new minor version number. Fix bugs in io_source_w_fm.c and in io_helpers_w.c. Add capability of reading a sink smearing function. For version 7.5.0 Precision selection for QOP and QDP Asqtad fermion force (single & multisource) Change to true residual stopping condition in single mass staggered and clover inverters. Prepare for supporting FNAL relative residual. Support for fixed mesh layouts (e.g. BG/L and QCDOC) Support a variety of FNAL Wilson sources and propagator formats. Support for USQCD/SciDAC gauge file format in some applications. Dcache I/O support (FNAL) Drop site structure temps from gaugefix args. Drop site structure args from restrict_fourier args New interface for clover inverters. Z2 random number support in f_meas Support qopqdp-0.7.7 and later for fermion force. EVENANDODD KS matrix inversion now does odd-site polish Support for QCDOC multi Asqtad force and multi Asqtad inverter A few more less-used version 6 apps upgraded to version 7. For version 7.4.0 Mixed precision for QOP and QDP inverters, dslash, and supporting fermion links. Introduced precision selection "prec_pbp" for f_meas.c inversions. Made multicg option choice available to applications other than RHMC. Support qopqdp-0.7.7 including FNMAT version of multi fermion force "initialize_machine" now takes pointers to argc and **argv. Support USQCD metadata in SciDAC file output Print list of selected options during setup. Segregate inclusion of SciDAC headers for faster compilation times Libraries "make" builds both precisions independently. Make reporting of remapping time optional with macro REMAP. For version 7.3.1 Polished the parameter input format for the RHMC. Now allow comment lines beginning with # in parameter input. Added NERSC checksum to link trace. Added more precise timing to the QOP and QDP modules including remapping times. For version 7.3.0 Nearly complete QOP and QDP support for all major components of Asqtad molecular dynamics, including Doug's new multi fermion force. Reworked RHMC parameter input and Remez parameter output. Added support for more than two pseudofermion fields in RHMC Support different CG residuals for RHMC MD, FA, GR. Changed inline global make macros to C_GLOBAL_INLINE and SSE_GLOBAL_INLINE. Added file pointer to get_i, get_f, etc. Added nrestart to KS CG routines throughout. (These last changes affect most application subdirectories.) For version 7.2.2 Upgrade RHMC code to do concurrent EOS calculations Fix p4 capability in ks_imp_dyn. Distinguish inverter residuals for mol dyn and action. For version 7.2.1 Start supporting the QOP/QDP package Split out fermion_links_fn from quark_stuff but no QOP support for fat and long link generation, yet. Make sample files precision-specific For version 7.2.0.1 Correct the weights for QOP_asqtad_force_multi in fermion_force_asqtad_qop.c Restore clobbered sse directory. For version 7.2.0 Port clover_dynamical to Version 7 Add RHMC code and rearrange multicg and multi fermion force procedures Add Level 3 wrappers for Level 3 multicg and multi fermion force Begin adding plaquette and link trace to MILC file metadata. Add Urs's gluon_prop For version 7.1.12 Fix Level 3 fermion force coef usage Support new level 3 interface for asqtad_invert and asqtad_force Add clover_invert to Version 7. For version 7.1.11 Support new Level 3 API for Asqtad fermion force and inverter Support for QOP/QDP awaits upgrade. Change write_ksprop_info_item to use fwrite instead of fprintf Add MILC imitations of Level 3 force and inverter for testing Make dummy QCDML be legitimate XML For previous versions 7 Unified Makefile replaces Make_vanilla Make_linux_mpi, etc. See various macros in Makefile, including MPP. Requires GNU make. Unified support for single and double precision See the PRECISION macro in Makefile. Support for SciDAC QIO See the WANTQIO macro in Makefile Support for SciDAC QDP See the WANTQDP macro in Makefile Support for single and double precision SSE Uses the same SSE and SSE_INLINE macros as in version 6, except that P3 or P4 compiler macros are not used. Standalone MILC/FNAL to SciDAC file conversion in file_utilities. Uses only temp vectors for dslash_fn and d_congrad5_fn. New applications: ks_hl_spectrum: Ludmila's MILC version for the clover heavy staggered light spectrum. ks_imp_invert_multi: multimass inversion ks_imp_utilities: for checking fermion force and inverter New file_utilities Conversion among binary file types for KS and Wilson propagators. Differencing for propagator files. Unified I/O for KS propagators supporting Wingate, Fermilab and SciDAC formats. Unified I/O for Wilson propagators supporitng MILC, Fermilab, and SciDAC formats. Time-slice checksums for Fermilab KS and Wilson propagators. QCDOC support - including the SciDAC Level 3 inverter C-coded optimized fermion force term for QCDOC An assortment of C-inline routines Support for SciDAC Level 3 QOP for QCDOC Support for ILDG lattice formats and QIO parallel I/O. Few-gather and few-sum versions of the MILC inverter. Support for parallel I/O and ILDG LFN Modified multimass inverter to allow arbitrary source points. Add C versions of MILC QOP wrappers. Make wrappers support QOP/QDP. C. DeTar, Utah 6 September 2016