Source Code

Latest version: Ver.2.0.2 [10 Feb 2024]

History of release Ver.2.0.x

Ver.2.0.2 [10 Feb 2024] bridge-2.0.2.tar.gz

  • MISC
    • Check of rational approximation coefficients is added.
  • BUG FIXES
    • Bug in Fprop_alt is fixed.
    • Bug in Fopr_Clover_eo is fixed.
    • Bugs in reverse() in lib/Fopr/afopr_* are fixed.
    • Bug in Field_F_1spinor is fixed.
    • Wrong flops count is corrected.
  • CAUTION
    • Sort in Eigensolver fails for NVIDIA HPC SDK with some versions (observged in ver.20.11-4.0.5 on Yukawa-21 at YITP).

Ver.2.0.1 [30 Jun 2023] bridge-2.0.1.tar.gz

  • MISC
    • Sample_HMC is improved.
    • lib_alt_QXS is modifed to ensure compatibility with c++11.
    • test_HMC_Staggered_Nf2 is renamed to test_HMC_Staggered_Nf4.
  • BUG FIXES
    • Bugs in FFT are fixed.
    • In several template classes in lib/Fopr/, needs_convert(), convert/reverse() are supplied.

Ver.2.0.0(R2) [02 Mar 2023] bridge-2.0.0-R2.tar.gz

  • R2 updated only ChangeLog.txt in bridge-2.0.0.tar.gz [01 Mar 2023]
  • FEATURES
    • Alternative code (alt-code) branches are added which enable architecture-specific implementation and replace the functions of original code. The original part of code set is called `core library'.
      • src/lib/ : core library
      • src/lib_alt/ : common codes for alternative branches
      • src/lib_alt_Impl/ : codes specific to some architecture
      Each implementation is specified by enum entry `Impl' listed in src/lib_alt/alt_impl.h. Currently Impl = QXS, codes optimized for A64FX architecture, is included. Alternative code enables arbitrary data layouts and supports both the double and float data type.
    • Template base classes are introduced to several class families, currently Fopr, Eigen, and Shiftsolver. For example, Fopr is now a typedef of AFopr<Field>.
    • Aligned allocator is introduced (src/aligned_allocator_impl.h).
    • Implementation assumes that Cpp11 is available.
    • QWS (QCD Wide SIMD) library (slightly modified version) is included in extra/ that can be called in the QXS-branch.
    • Communicator for Fujitsu's implementation of MPI is added.
    • Staggered, Domain-wall, overlap, and Non-relativistic fermion operators are added.
    • Implicitly Restarted Arnoldi algorithm is added as an eigensolver.
    • Multi-grid solver is added which now works only for clover fermion with the QXS-branch.
    • For testing alt-code, test_alt_spectrum/ and test_alt_multigrid/ are added.
    • Terminate supports for PGI, OFP, Fugaku_FCC (trad mode).
    • The python interface "PyBridge++" is temporarily not available in ver.2.0.0.
    • NERSC format is added to FieldIO (info added in R2)
  • MISC
    • ThreadManager_OpenMP class is renamed to ThreadManager.
    • OpenMP barrier synchronization is performed in set_mode() method, which now cannot be called in master region.
    • For fermion operators (Fopr), multi-threading is widely applied including codes in Org/.
    • For even-odd fermion operators, lexical gauge configuration is given in set_config() instead of even-odd one.
    • In fermion operators, fprop_normalized() method is renamed to normalize_fprop().
    • Base classes avoid member data as much as possible. For example, m_vl (verbose level) is moved to subclasses.
    • For complex numbers, traits is introduced (src/complexTraits.h). C99 complex is now not supported.
    • In the library part of Bridge++, unique pointer is no longer used.
    • Indent is introduced in BridgeIO. For verbose level CRUCIAL, flush of output is added.
    • In IO classes, arguments of read_file() and write_file() are changed as Field* -> Field&.
    • Construction by giving Parameters object is regarded as default. Construction without Parameters is obsolete and [Deprecated] macro outputting warning at compilation is added.
    • Improve fieldStrength for topologicalCharge (info added in R2).
  • BUG FIXES
    • Fix multi-threading in PolyakovLoop (fixed in release 2.0.0).
    • Fix problem for Nex>1 in Org/Fopr_Wilson(_eo)_impl (fixed in release 2.0.0, info added in R2).
    • Fix parameterManager_YAML (fixed in release 2.0.0, info added in R2).

History of release Ver.1.6.x

Ver.1.6.1 [15 Jun 2021] bridge-1.6.1.tar.gz

  • Bug fix: dot(const Field& y, const int exy, ...) in field.h
  • Bug fix: operator/=(const dcomplex& rhs) in vec_SU_N.h
  • Bug fix: compilation error in Org/contract_4spinor.cpp
  • Add Nc check
  • Improve GaugeConfig I/O

Ver.1.6.0 [30 Mar 2021] bridge-1.6.0.tar.gz

  • FEATURES
    • Add a python interface "PyBridge++"
    • Add supports for Clang, Fugaku, NVIDIA HPC SDK, OakForest-PACS, and SX_AURORA
    • Terminate supports for COMA, XC40 and SX_ACE
  • MISC
    • Add multithread to PolyakovLoop
    • Add sync_usleep
    • Enhance field, reduce_sum_global and mat_SU_N to cover complex arguments
    • Enhance sample_spectrum
    • Purge tinyxml2 as an extra lib
  • BUG FIXES
    • Fix usage of abs() for floating point values
    • Fix integer overflow at IO (fixed in release 1.5.4)
    • Fix use_gauge_group = general (fixed in release 1.5.3)
    • Fix test_Gauge_Shift (fixed in release 1.5.2)
    • Fix action_F_Ratio_lex and action_F_Ratio_eo (fixed in release 1.5.1)

History of release Ver.1.5.x

Ver.1.5.4 [19 Mar 2020] bridge-1.5.4.tar.gz

  • Bug fix: integer overflow at IO
  • Add sync_usleep
  • Improve reduce_sum_global
  • Purge tinyxml2 as an extra lib

Ver.1.5.3 [09 Dec 2019] bridge-1.5.3.tar.gz

  • Fix use_gauge_group=general behavior

Ver.1.5.2 [09 Oct 2019] bridge-1.5.2.tar.gz

  • Bug fix: test_Gauge_Shift

Ver.1.5.1 [16 Aug 2019] bridge-1.5.1.tar.gz

  • Bug fix: Action/Fermion/action_F_Ratio_lex and action_F_Ratio_eo
  • Enhance sample_spectrum
  • Makefile: COMA_INTEL is removed from Target platform
  • Makefile: OFP_INTEL and SX_AURORA are added to Target platform
  • source file is updated: Makefile.in is replaced. [17 Aug 2019]

Ver.1.5.0 [7 Mar 2019] bridge-1.5.0.tar.gz

  • FEATURES
    • Employ a new directory layout
    • Terminate support for KEKSR, KEKBGQ and optimization to BG/Q
  • MISC
    • Add bridge_initializer, bridge_long.h, boolean in parameter class, float to Communicator and ThreadManager, RandomNumbers(U(1),Z2), shiftField to Tests, Source_Random, Spectrum_4ptFunction, test_Solver, enum to bridge_defs.h
    • Combine Tests/ShiftSolver/ and Tests/Solver/ into Tests/Solver/
    • Create directories of ParameterFiles
    • Enhance field_F_1spinor, contract_4spinor, corr2pt_4spinor, fieldStrength, solver to deal with arbitrary initial guess
    • Improve choice of solver type for each quark, factory, Field, Makefile, parameter check, stability of BiCGStab-type solvers, usage of regex and round for old compilers
    • Move Field:element_type to defs.h, epsilon_index to Tools/ as const, preprocess_testmanager to test section in main
    • Remove #pragma in BridgeIO, the last comma of enum elements
    • Rename *.inc and *.tmpl to *-inc.h and *-tmpl.h, bridge.elf to bridge.all.elf with a symbolic link to bridge.elf, checker.{h,cpp} to parameterCheck.{h,cpp}, dump() to print()
  • BUG FIXES
    • Fix solver_GMRES_m_Cmplx
    • Fix channel class (fixed in release 1.4.4)
    • Fix energyDensity (fixed in release 1.4.3)
    • Fix fft_xyz_1dim and run_test (fixed in release 1.4.1)

History of release Ver.1.4.x

Ver.1.4.4 [30 Nov 2017] bridge-1.4.4.tar.gz

  • Bug fix: Channel class and its setup.
  • GaugeFixing classes are improved.
  • A member fuction mult_gm5 is added to Fopr base class.
  • Prescription for XC40_CRAY@YITP with cce/8.6.2 is added to bridge_complex.h.

Ver.1.4.3 [03 Jul 2017] bridge-1.4.3.tar.gz

  • Bug fix: in energyDensity.cpp, 1x2 part is corrected.
  • Bug fix: FieldIO Binary_Parallel and LIME_Parallel modified to handle Trivial IO format.

Ver.1.4.2 [15 May 2017] bridge-1.4.2.tar.gz

  • Index_eo is modified so as to enable odd local lattice sizes except for x-direction.

Ver.1.4.1r2 [14 Apr 2017] bridge-1.4.1r2.tar.gz

  • We appologize that the previous package (bridge-1.4.1.tar.gz) was not correctly updated.

Ver.1.4.1 [31 Mar 2017] bridge-1.4.1.tar.gz

  • Bugs are fixed in fft_xyz_1dim.cpp and run_test.cpp.

Ver.1.4.0r2 [22 Mar 2017] bridge-1.4.0r2.tar.gz

  • .svn/ removed
  • FFT test is added in run_test.

Ver.1.4.0 [15 Mar 2017] bridge-1.4.0.tar.gz

  • Parameter object becomes a container
  • changed to a relative include path
  • changed to a code directory oriented to a library
  • Solver: restarting is added
  • Solver: flops counter is added
  • Clover definition of field strength is added
  • Meson operator is added
  • Sink momentum is added
  • RandomNumbersManager is added
  • GaugeConfig: utility is enhanced
  • bridgeIO: utility is enhanced
  • Makefile is improved
  • Fopr Org/Imp implementation: structure is imporved
  • GaugeFixing: improved
  • test name for testmanager is modified
  • Verbose level: readjusted

History of release Ver.1.3.x

Ver.1.3.2 [20 Jan. 2016] bridge-1.3.2.tar.gz

  • Add interfaces for save/load status for Random Number class.
  • Fix a digit cancellation in stout projection.

Ver.1.3.1 [2 Nov. 2015] bridge-1.3.1.tar.gz

  • Update Makefile
  • Fix warnings
  • Fix typos

Ver.1.3.0 [20 Oct. 2015] bridge-1.3.0.tar.gz

  • Bug fixes after 1.2.0
    • Memory leaks
    • Problem in massively parallel at BG/Q
    • Too large stack memory
    • Wrong parameter display
  • Generalized Wilson/Clover fermion was implemented. (for relativistic heavy quark and anisotropic lattice action)
  • Add fft by external library FFTW.
  • Add unique pointer.
  • Add individual compile for each test.
  • Add factory for gauge action and fermion operator.
  • Add option to test manager.
  • Adaptive Runge-Kutta method was implemented for Gradient flow.
  • Parameter file by XML is supported.
  • Enhance FieldIO.
  • Improve integrator.
  • Remove a return of field class type.

History of release Ver.1.2.x

Ver.1.2.3 [20 Oct. 2015] bridge-1.2.3.tar.gz

  • Add document for extra library SMFT.

Ver.1.2.2 [11 Nov. 2014] bridge-1.2.2.tar.gz

  • Bug fix for Runge Kutta in Gradient flow

Ver.1.2.1 [20 Oct. 2014] bridge-1.2.1.tar.gz

  • Bug fix for Gradient flow

Ver.1.2.0r2 [19 Sept. 2014] bridge-1.2.0r2.tar.gz

  • Support multi-threading by OpenMP.
  • Add general SU(N) gauge group.

History of release Ver.1.1.x

Ver.1.1.7 [15 Dec. 2014] bridge-1.1.7.tar.gz

  • Bug fix for not compile in SR16000

Ver.1.1.6 [11 Nov. 2014] bridge-1.1.6.tar.gz

  • Bug fix for Runge Kutta in Gradient flow

Ver.1.1.5 [20 Oct. 2014] bridge-1.1.5.tar.gz

  • Bug fix for Gradient flow
  • Modify for file IO in RandomNubmers_MT19937

Ver.1.1.4 [21 May. 2014] bridge-1.1.4.tar.gz

  • Add a hot start at configuration generation
  • Add a momentum source for baryon correlator
  • Fix a bug in Makefile

Ver.1.1.3 [17 Dec. 2013] bridge-1.1.3.tar.gz

  • Fix a bug in test_RandomNumbers_Mseries_GaussianField

Ver.1.1.2 [14 Nov. 2013] bridge-1.1.2.tar.gz

  • Fix parameter file

Ver.1.1.1 [30 Aug. 2013] bridge-1.1.1.tar.gz

  • Revised the Makefile to update "KEK BG/Q" libraries.

Ver.1.1.0 [23 July 2013] bridge-1.1.0.tar.gz

  • All the bugs fixed after 1.0.0 were reflected.
  • Test classes were changed to functions.
  • Interface of constructors of Action classes were changed.
  • Number of verbose output levels was changed from 5 to 4.
  • Functionality of TestManager class was enhanced.
  • More strict checks of parameters were imposed.
  • Parameters are given by YAML files.
  • Factory classes were implemented for several class families, such as solver class, parameters class, etc.
  • complex and double _Complex can be exchanged over the whole code.
  • Directory structure was rearranged.
  • Main function was refactored.
  • Names of classes, methods, member variables, etc. were changed to be more comprehensible.
  • Wall source was implemented as a subclass of Source class.
  • Base classes for eigensolvers, gauge fixing, and shiftsolvers were implemented.
  • Polyakov loop measurement was implemented.
  • New linear solvers were implemented (Solver_CGNE and Solver_CGNR).
  • Makefile was improved.
  • Fopr_CloverTerm class was separated from Fopr_Clover class.

History of release Ver.1.0.x

Ver.1.0.7 [29 May 2013]

bridge-1.0.7.tar.gz
  • Bug fix: error in fieldIO::gather when using MPI.

Ver.1.0.6 [2 May 2013] bridge-1.0.6.tar.gz

  • Bug fix: error in fieldIO when using MPI.

Ver.1.0.5 [10 Apr. 2013] bridge-1.0.5.tar.gz

  • Bug fix: around IO.
  • Bug fix: in makeconfig.sh.
  • typos corrected.

Ver.1.0.4 [20 Nov. 2012] bridge-1.0.4.tar.gz

  • Bug fix: in Source_4spinor_Exp class
  • Action of test_HMC and test_GradientFlow classes uniformalized.
  • typos corrected.

Ver.1.0.3 [27 Aug. 2012] bridge-1.0.3.tar.gz

  • Added: Solver class with GMRES_m algorithm.
  • Tuned: accelerated hadron correlators, stout projection, smeared Wilson loops.

Ver.1.0.2 [2 Aug. 2012] bridge-1.0.2.tar.gz

  • Bug fix: in compilation on KEK BlueGene/Q with MPI.
  • Patch from Ver.1.0.1 to Ver.1.0.2
    In src/Communicator/MPI, execute patch < patchfilename,
    with patchfilename replaced by downloaded file name.

Ver.1.0.1 [30 Jul. 2012] bridge-1.0.1.tar.gz

  • Bug fix: test menu for test_GaugeConfig.
  • Bug fix: initialization in testManager.
  • Added: helper script makeconfig.sh for generating Makefile according to environment.

Ver.1.0.0 [24 Jul. 2012] bridge-1.0.0.tar.gz

  • Version 1.0.0 released.
Copyright (c) Bridge++ Project Team 2009