diff --git a/.github/workflows/bench.yml b/.github/workflows/bench.yml index a22901e632..412388bc81 100644 --- a/.github/workflows/bench.yml +++ b/.github/workflows/bench.yml @@ -25,9 +25,10 @@ jobs: strategy: matrix: device: ['cpu', 'gpu'] + lbl: ['gt'] runs-on: group: phoenix - labels: gt + labels: ${{ matrix.lbl }} timeout-minutes: 1400 env: ACTIONS_RUNNER_FORCE_ACTIONS_NODE_VERSION: node16 @@ -46,6 +47,7 @@ jobs: path: master - name: Bench (Master v. PR) + if: matrix.lbl == 'phoenix' run: | (cd pr && bash .github/workflows/phoenix/submit.sh .github/workflows/phoenix/bench.sh ${{ matrix.device }}) & (cd master && bash .github/workflows/phoenix/submit.sh .github/workflows/phoenix/bench.sh ${{ matrix.device }}) & @@ -60,7 +62,7 @@ jobs: uses: actions/upload-artifact@v4 if: always() with: - name: logs-${{ matrix.device }} + name: logs-${{ matrix.device }}-${{matrix.lbl}} path: | pr/bench-${{ matrix.device }}.* pr/build/benchmarks/* diff --git a/.github/workflows/delta/submit.sh b/.github/workflows/delta/submit.sh new file mode 100644 index 0000000000..801cdbff55 --- /dev/null +++ b/.github/workflows/delta/submit.sh @@ -0,0 +1,63 @@ +#!/bin/bash + +set -e + +usage() { + echo "Usage: $0 [script.sh] [cpu|gpu]" +} + +if [ ! -z "$1" ]; then + sbatch_script_contents=`cat $1` +else + usage + exit 1 +fi + +sbatch_cpu_opts="\ +#SBATCH -p cpu +#SBATCH --account=bdiy-delta-cpu +" + +sbatch_gpu_opts="\ +#SBATCH -p gpuA100x4,gpuA100x8 +#SBATCH --account=bdiy-delta-gpu +#SBATCH --gpus-per-node=4 +" + +if [ "$2" == "cpu" ]; then + sbatch_device_opts="$sbatch_cpu_opts" +elif [ "$2" == "gpu" ]; then + sbatch_device_opts="$sbatch_gpu_opts" +else + usage + exit 1 +fi + +job_slug="`basename "$1" | sed 's/\.sh$//' | sed 's/[^a-zA-Z0-9]/-/g'`-$2" + +sbatch < None: if not ARG("mpi") and any({ARG("nodes") > 1, ARG("tasks_per_node") > 1}): @@ -133,6 +135,7 @@ def __execute_job_script(qsystem: queues.QueueSystem): raise MFCException(f"Submitting batch file for {qsystem.name} failed. It can be found here: {__job_script_filepath()}. Please check the file for errors.") +# @hunter.wrap(local=True) def run(targets = None, case = None): targets = get_targets(list(REQUIRED_TARGETS) + (targets or ARG("targets"))) case = case or input.load(ARG("input"), ARG("--")) diff --git a/toolchain/pyproject.toml b/toolchain/pyproject.toml index 8b0d2c1d8a..126b7fdd3d 100644 --- a/toolchain/pyproject.toml +++ b/toolchain/pyproject.toml @@ -37,7 +37,10 @@ dependencies = [ # Chemistry "cantera", - "pyrometheus==1.0.2" + "pyrometheus==1.0.2", + + # Logging + "hunter" ] [tool.hatch.metadata]