[Chapel Merge] Add CHAMPS nightly testing

Branch: refs/heads/main
Revision: c3875a5
Author: e-kayrakli
Link: Add CHAMPS nightly testing by e-kayrakli · Pull Request #19071 · chapel-lang/chapel · GitHub
Log Message:

Merge pull request #19071 from e-kayrakli/champs-nightly-testing

Add CHAMPS nightly testing

This PR will add 2 configs:

  • perf.cray-cs-hdr.champs.c
  • perf.cray-cs-hdr.champs.llvm

The infrastructure is largely modeled after arkouda nightly testing. The
test/studies/champs directory contains its own sub_test that:

  • clones CHAMPS upstream
  • applies patches to it that is necessary to keep CHAMPS compiling with main
  • builds 3 CHAMPS executables
  • collects compile time and emitted code size data from them
  • runs the flow simulation executable
  • collects timing data from that
  • generates plots

Under util/cron this PR adds:

  • common-champs.sh
  • test-perf.cray-cs-hdr.champs-c.bash
  • test-perf.cray-cs-hdr.champs-llvm.bash

which are relatively boilerplate.

Future work:

  • I can't determine whether the preprocessor executable freezes or just takes
    too long to run. Ideally, I'd like the preprocessor to run on the base input,
    partition it, and the flow simulator to use the partitioned input. Right now,
    we are using a pre-preprocessed data.

[Reviewed by @ronawho]

Modified Files:
A test/studies/champs.skipif

A test/studies/champs/.gitignore
A test/studies/champs/functions.bash
A test/studies/champs/sub_test
A util/cron/common-champs.bash
A util/cron/test-perf.cray-cs-hdr.champs.c-backend.bash
A util/cron/test-perf.cray-cs-hdr.champs.llvm.bash

Compare: https://github.com/chapel-lang/chapel/compare/6afab3f2260f...c3875a5704c9