-
Notifications
You must be signed in to change notification settings - Fork 12
Release Criteria
QPhiX uses master
, devel
, and feature branches similarly to Git
Flow. This page will
list the criteria for code to enter these branches. The criteria are formulated
with the meanings of must and should following RFC
2119.
The master
is supposed to be suitable for full-scale production with a
package like Chroma or tmLQCD. Before merging devel
into `master, it must
fulfil the following criteria:
-
All unit tests of QPhiX must succeed on an Travis CI, an AVX2 machine (e.g. JURECA, Hazel Hen) and a KNL machine (e.g. Cori, Marconi A2).
-
The timimgs must be run again against a previous version on both types of machines, no significant loss of performance has occured without a good reason.
-
QPhiX must compile with Chroma. If Chroma does not reflect the interface changes in QPhiX, this must be coordinated in order to provide users with a working toolchain.
-
A single HMC trajectory that has been generated with an older version of Chroma+QPhiX must be reproducible (up to precision deviations) by the new version of Chroma+QPhiX.
Could this become an issue when the generation of random numbers in Chroma is changed and some momenta or pseudo fermion fields are generated differently?
For the devel
branch, the requirements are less strict:
- All unit tests of QPhiX must succeed on Travis CI.