test/scripts/sync_accel_env.sh

72 lines
1.4 KiB
Bash

#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
configured="${ACCELERATOR:-auto}"
configured="${configured,,}"
detect_accelerator() {
case "$configured" in
metax|maca|muxi|mx)
echo "metax"
return 0
;;
iluvatar|ix|tianshu|天数)
echo "iluvatar"
return 0
;;
mthreads|musa|moorethreads|摩尔线程)
echo "mthreads"
return 0
;;
nvidia|cuda)
echo "nvidia"
return 0
;;
cpu)
echo "cpu"
return 0
;;
esac
if command -v mx-smi >/dev/null 2>&1; then
echo "metax"
return 0
fi
if command -v ixsmi >/dev/null 2>&1; then
echo "iluvatar"
return 0
fi
if command -v mthreads-gmi >/dev/null 2>&1; then
echo "mthreads"
return 0
fi
if command -v nvidia-smi >/dev/null 2>&1; then
echo "nvidia"
return 0
fi
echo "cpu"
}
accelerator="$(detect_accelerator)"
echo "[sync_accel_env] detected accelerator=${accelerator}"
case "$accelerator" in
metax)
exec "$ROOT_DIR/scripts/sync_metax_env.sh" "$@"
;;
iluvatar)
exec "$ROOT_DIR/scripts/sync_iluvatar_env.sh" "$@"
;;
mthreads)
exec "$ROOT_DIR/scripts/sync_mthreads_env.sh" "$@"
;;
nvidia)
exec "$ROOT_DIR/scripts/sync_gpu_env.sh" "$@"
;;
cpu)
exec "$ROOT_DIR/scripts/sync_cpu_env.sh" "$@"
;;
esac