dce95392

Author: Lucien Huber <im@lcnbr.ch>

Committer: GitHub <noreply@github.com>

Remove all conditionals from evaluators, except for single parametric (#95)

* update symbolica dev and forward symjit optimization settings

Update Symbolica dev to 0441bd7a511209dce2ca99925fe87f8b18e4bf03 and enable native code generation. Carry the configured optimization level into SymJIT, default to O2, cap O3 at O2, and explicitly use O2 in standalone JIT paths.

Tests: cargo fmt --all --check; cargo check -p gammalooprs --tests; cargo test -p gammalooprs compile_settings --lib; cargo test -p gammaloop-integration-tests --test test_runs --profile dev-optim aa_aa_local_inspect_backend_consistency -- --nocapture; cargo hakari verify; cargo metadata --locked --no-deps --format-version 1; nix workspace graph check; just clippy -- -D warnings

User request: in a new jj workspace update symbolica to latest dev, and then make sure that symjit's optimizations settings are forwarded from our settings and properly set to o2
Follow-up: do it offf of main

* restrict orientation monte carlo to single parametric mode

Make only single parametric mode work for Monte Carlo over orientations, warn when it is active, and strip unsupported summed-mode conditionals.

User request: Now we want to make only single parametric mode work for monte-carlo over orientations. The others (summed, summed function map etc) can be stripped of their conditionals entirely. Of course they cannot be used when monte-carloing over orientations. Do this in a new jj change

Additional user request: warn that we are using single parametric for the monte-carlo

* add exclusive graph selection

User requests:

Create within `./examples/cli/epem_a_ttxh/NNLO_user_experiment` a copy of `./examples/cli/epem_a_ttxh/NNLO/epem_a_tth_NNLO.toml` but updating the state paths and also for now at generation time using the select command with `--with-only-graph-names` selecting only `GL297` at generation time. Do not run it yet but tell me when you've finished that simple task.

Also add to the current block in:
```ini
[[command_blocks]]
name = "generate_integrands"
commands = [
    "set global kv global.n_cores.generate=10",
    "generate existing -p epem_a_tth -i NNLO",
    "duplicate integrand -p epem_a_tth -i NNLO --output_process_name epem_a_tth --output_integrand_name NNLO_semi_inclusive",
    "save state -o"
]
```

a `set global string '...` command that expose the setting of all settings relevant to the generation, with for now their current default values filled in.

Actually either their current default values or the current values set in the settings section of the current card.

Also add the default runtime setting of the EvaluationMethod for the evaluators in the overal settings specified in the card.

Mhh `--with-only-graph-names` does not seem to exist

Checkout the diff in `/Users/vjhirsch/Documents/Work/gammaloop_dev` and then port in the missing implementation of the `with-only-graph-names` option in this workspace.

* use summed orientations in se1l UV regression

Sum orientations in the se1l UV regression, update its deterministic reference target while retaining 2sigma acceptance, and refresh the GL20 evaluator snapshot.

User requests:
- yeah lets try this
- yeah, lets update the target!

* Default UV generation to hedge poset

* set default symbolica horner iterations to 1

User request: rebase the chain of commits using jj off of main, and then add a new change that sets the default symbolica evaluator settings horner iterations to 1

---------

Co-authored-by: ValentinHirschi <valentin.hirschi@gmail.com>

Total

10m28s

Time to Start Worker time Duration Time to finish Idle
Config 2s 12s 12s 14s 2s
Eval 10s 53s 53s 1m04s 0s
Build 54s 16m32s 9m19s 10m13s 1m16s
Test 1m06s 5m32s 2m38s 3m44s 0s
Deploy 10m19s 11s 11s 10m31s 6s
Suite 2s 23m22s 10m28s 10m31s 1m25s

Timeline

Config Eval Build Test Deploy Compressed gap
0s1m2m3m5m6m7m8m10m