feat: compute-sanitizer support in Argo training workflow
Usage: ./scripts/argo-train.sh dqn --baseline --epochs 2 --sanitizer memcheck
./scripts/argo-train.sh dqn --baseline --epochs 1 --sanitizer synccheck
Tools: memcheck (OOB, uninitialized), racecheck (data races),
synccheck (__syncthreads divergence/deadlocks).
10-100x slower — use with 1-2 epochs for debugging.
Detects exact kernel + line causing GPU hang.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -25,6 +25,7 @@ SYMBOL=""
|
||||
WATCH=false
|
||||
BASELINE=false
|
||||
CAPITAL=""
|
||||
SANITIZER="none"
|
||||
|
||||
usage() {
|
||||
cat <<EOF
|
||||
@@ -43,6 +44,7 @@ Options:
|
||||
--symbol <sym> Trading symbol (default: ES.FUT)
|
||||
--capital <n> Initial capital (default: 35000)
|
||||
--baseline Skip hyperopt (trials=0)
|
||||
--sanitizer <tool> Run under compute-sanitizer (memcheck|racecheck|synccheck)
|
||||
--watch Follow workflow logs
|
||||
-h, --help Show this help
|
||||
EOF
|
||||
@@ -68,6 +70,7 @@ while [[ $# -gt 0 ]]; do
|
||||
--symbol) SYMBOL="$2"; shift 2 ;;
|
||||
--capital) CAPITAL="$2"; shift 2 ;;
|
||||
--baseline) BASELINE=true; shift ;;
|
||||
--sanitizer) SANITIZER="$2"; shift 2 ;;
|
||||
--watch) WATCH=true; shift ;;
|
||||
-h|--help) usage ;;
|
||||
*) echo "Unknown option: $1"; usage ;;
|
||||
@@ -84,6 +87,7 @@ CMD="$CMD -p model=$MODEL"
|
||||
[[ -n "$GPU_POOL" ]] && CMD="$CMD -p gpu-pool=$GPU_POOL"
|
||||
[[ -n "$SYMBOL" ]] && CMD="$CMD -p symbol=$SYMBOL"
|
||||
[[ -n "$CAPITAL" ]] && CMD="$CMD -p initial-capital=$CAPITAL"
|
||||
[[ "$SANITIZER" != "none" ]] && CMD="$CMD -p sanitizer=$SANITIZER"
|
||||
|
||||
$BASELINE && CMD="$CMD -p hyperopt-trials=0"
|
||||
$WATCH && CMD="$CMD --watch"
|
||||
|
||||
Reference in New Issue
Block a user