Source Code
Latest version: Ver.2.0.2 [10 Feb 2024]
History of release Ver.2.0.x
- 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).
- 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.
- 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
- 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
- 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
- Bug fix: integer overflow at IO
- Add sync_usleep
- Improve reduce_sum_global
- Purge tinyxml2 as an extra lib
- Fix use_gauge_group=general behavior
- Bug fix: test_Gauge_Shift
- 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]
- 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
- 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.
- Bug fix: in energyDensity.cpp, 1x2 part is corrected.
- Bug fix: FieldIO Binary_Parallel and LIME_Parallel modified to handle Trivial IO format.
- Index_eo is modified so as to enable odd local lattice sizes
except for x-direction.
- We appologize that the previous package (bridge-1.4.1.tar.gz)
was not correctly updated.
- Bugs are fixed in fft_xyz_1dim.cpp and run_test.cpp.
- .svn/ removed
- FFT test is added in run_test.
- 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
- Add interfaces for save/load status for Random Number class.
- Fix a digit cancellation in stout projection.
- Update Makefile
- Fix warnings
- Fix typos
- 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
- Add document for extra library SMFT.
- Bug fix for Runge Kutta in Gradient flow
- Bug fix for Gradient flow
- Support multi-threading by OpenMP.
- Add general SU(N) gauge group.
History of release Ver.1.1.x
- Bug fix for not compile in SR16000
- Bug fix for Runge Kutta in Gradient flow
- Bug fix for Gradient flow
- Modify for file IO in RandomNubmers_MT19937
- Add a hot start at configuration generation
- Add a momentum source for baryon correlator
- Fix a bug in Makefile
- Fix a bug in test_RandomNumbers_Mseries_GaussianField
- Revised the Makefile to update "KEK BG/Q" libraries.
- 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.
- Bug fix: error in fieldIO when using MPI.
- Bug fix: around IO.
- Bug fix: in makeconfig.sh.
- typos corrected.
- Bug fix: in Source_4spinor_Exp class
- Action of test_HMC and test_GradientFlow classes uniformalized.
- typos corrected.
- Added: Solver class with GMRES_m algorithm.
- Tuned: accelerated hadron correlators, stout projection,
smeared Wilson loops.
- 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.
- Bug fix: test menu for test_GaugeConfig.
- Bug fix: initialization in testManager.
- Added: helper script makeconfig.sh for generating
Makefile according to environment.