Automated Validation » History » Version 17

Version 16 (Julia Yarba, 02/08/2019 03:32 PM) → Version 17/25 (Julia Yarba, 02/08/2019 05:54 PM)

h1. GENIE AVS CI - Automated Validation

h2. General Information

GENIE AVS CI is GENIE Automated Validation Suite combined with the "Continuous Integration (CI) services":

The procedure can be subdivided into 2 categories:
* GENIE CI build(s) "on commit"
** Triggered every time when new code is committed (to GitHib) to either Generator, Reweighs, or Comparisons package (given 20min wait time, to allow consolidation of multiple commits within a short time frame)
** Includes the followjng steps:
*** Checkout from GitHub
*** Build of all 3 packages
*** Execution of Unit Tests
*** "Operational" test which includes
a) generation of minimalistic cross section splines for the CCQE process
b) generation of 5 CCQE events using splines generated in a)
both are done for the Default tune
* GENIE Validation workflow is triggered weekly (on Friday's)
** GENIE build, Unit Tests, and "operational" test, as described above
** Benchmark of GENIE generated predictions vs a variety of experimental datasets; the list of benchmarks can be found "here":

Results are reported to the dedicated "GENIEMC Slack channel": (password may be needed)
Each report includes link(s) to the "GENIE CI dashboard": for further details (log files, plot books, etc.)

Various technical details can also be found in the presentation at the GENIE meetings; see later in this document.

h2. Some Several Tips on Interpreting GENIE CI Dashboard

Each raw on the "GENIE CI dashboard": corresponds to a separate workflow.
Obviously, the workflows are shorter for the "on commit" builds and longer for the full blown GENIE AVS rounds.

On the dashboard this is reflected wit the addition of the following:
* "setup_validation" section - preparation of the storage area in dCache, generation of job configuration files, etc.
* one or several "ci_validation_<TuneID> sections (e.g. ci_validation_G18_02a_00_000, etc.)

Each ci_validation_<TuneID> section is a folder on its own.
If one clicks on it, one will be redirected to another monitoring board that corresponds to the validation of a given GENIE tune.
Such validation procedure consists of multiple steps and includes generation of neutrino-nucleon, then neutrino-nucleus splines, generation of GENIE event files for various MC-data benchmarks,
and the MC-data benchmarks themselves.
They are named as dag_<NN>, where NN is the serial number of a particular step in the validation chain.
The notation of "dag" is associated with the term DAGman (it is a meta-scheduler for HTCondor that menages dependencies between jobs at a high level).

Description of what each dag_<NN> actually means/does is linked to the "?" icon in the box on the left side of the web page, located below the "Progress Legend" chart; feel free to click on the icon.

h2. Presentations on GENIE AVS CI

* "GENIE AVS CO Overview at the STWG meeting on 6/13/2018":
NOTE: A few details may be slightly out of date as a result of updates implemented since June 2018

h2. How to Launch GENIE AVS CI

GENIE "on commit" and/or weekly AVS CI are triggered automatically.

However, the procedure can be triggered at any given moment, if needs be.

Any authorized GENIE developer can trigger one or another workflow, following "these instructions":

h2. Legacy Information

* Meetings
*** [[AVS - April 2, 2015]]