File size: 1,637 Bytes
cfcbbc8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#!/bin/bash

MODEL_LIST="models.txt"
SUPERVISOR_LIST="models_supervisor.txt"
CODER_LIST="models_coder.txt"
NUM_TESTS=10
OUTDIR="/global/cfs/projectdirs/atlas/llm4hep/oct_11_tests/"

usage() {
    echo "Usage: $0 [--mode identical|pairwise]"
    echo "  --mode identical : Use the same model for both supervisor and coder (from models.txt) [default]"
    echo "  --mode pairwise  : Use all pairs (from models_supervisor.txt and models_coder.txt)"
    exit 1
}

# Default mode
MODE="identical"

# Parse arguments
while [[ $# -gt 0 ]]; do
    case "$1" in
        --mode)
            MODE="$2"
            shift 2
            ;;
        *)
            usage
            ;;
    esac
done

if [[ "$MODE" == "identical" ]]; then
    # One model for both supervisor and coder
    while IFS= read -r model; do
        model=$(echo "$model" | xargs)
        [ -z "$model" ] && continue
        echo "Supervisor & Coder: $model"
        sbatch --job-name="${model}_${model}" jobs/run_tests.sh "$model" "$model" "$NUM_TESTS" "$OUTDIR"
    done < "$MODEL_LIST"
elif [[ "$MODE" == "pairwise" ]]; then
    # Different models for supervisor and coder
    while IFS= read -r supervisor; do
        supervisor=$(echo "$supervisor" | xargs)
        [ -z "$supervisor" ] && continue
        while IFS= read -r coder; do
            coder=$(echo "$coder" | xargs)
            [ -z "$coder" ] && continue
            echo "Supervisor: $supervisor, Coder: $coder"
            sbatch --job-name="${supervisor}_${coder}" jobs/run_tests.sh "$supervisor" "$coder" "$NUM_TESTS" "$OUTDIR"
        done < "$CODER_LIST"
    done < "$SUPERVISOR_LIST"
else
    usage
fi