Files
aituner/runs/frontier-multicase-sufficiency-v0/smoke/setup_env.sh

67 lines
2.3 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
OUTPUT_ROOT="${OUTPUT_ROOT:-/home/admin/cpfs/wjh/frontier-community-qwen235-smoke-20260715}"
FRONTIER_ROOT="${FRONTIER_ROOT:-${OUTPUT_ROOT}/Frontier-d9cfeb6}"
VENV_ROOT="${VENV_ROOT:-/tmp/wjh-frontier-vllm0102-smoke/.venv}"
LOG_DIR="${OUTPUT_ROOT}/logs"
export UV_HTTP_TIMEOUT="${UV_HTTP_TIMEOUT:-300}"
mkdir -p "${LOG_DIR}" "${OUTPUT_ROOT}/provenance"
exec > >(tee -a "${LOG_DIR}/setup_env.log") 2>&1
echo "SETUP_ENV output=${OUTPUT_ROOT} frontier=${FRONTIER_ROOT} venv=${VENV_ROOT} python=/usr/local/bin/python3.12 vllm=0.10.2 transformers=4.55.2"
if [[ ! -f "${FRONTIER_ROOT}/pyproject.toml" ]]; then
echo "ERROR: Frontier source is missing at ${FRONTIER_ROOT}" >&2
exit 1
fi
uv venv --clear --python /usr/local/bin/python3.12 "${VENV_ROOT}"
uv pip install \
--python "${VENV_ROOT}/bin/python" \
"vllm==0.10.2" \
"transformers==4.55.2" \
"flashinfer-python>=0.3,<0.4" \
-e "${FRONTIER_ROOT}[test]"
"${VENV_ROOT}/bin/python" - <<'PY' | tee "${OUTPUT_ROOT}/provenance/environment.json"
import importlib.metadata as metadata
import json
import platform
import flashinfer
import frontier
import torch
import vllm
record = {
"python": platform.python_version(),
"torch": torch.__version__,
"torch_cuda": torch.version.cuda,
"vllm_import_version": vllm.__version__,
"vllm_metadata_version": metadata.version("vllm"),
"vllm_path": vllm.__file__,
"transformers_metadata_version": metadata.version("transformers"),
"tokenizers_metadata_version": metadata.version("tokenizers"),
"flashinfer_metadata_version": metadata.version("flashinfer-python"),
"flashinfer_path": flashinfer.__file__,
"frontier_metadata_version": metadata.version("frontier-simulator"),
"frontier_path": frontier.__path__[0],
}
print(json.dumps(record, indent=2, sort_keys=True))
assert record["vllm_import_version"] == "0.10.2", record
assert record["vllm_metadata_version"] == "0.10.2", record
assert record["transformers_metadata_version"] == "4.55.2", record
PY
uv pip freeze --python "${VENV_ROOT}/bin/python" > "${OUTPUT_ROOT}/provenance/requirements.freeze.txt"
sha256sum \
"${OUTPUT_ROOT}/provenance/environment.json" \
"${OUTPUT_ROOT}/provenance/requirements.freeze.txt" \
> "${OUTPUT_ROOT}/provenance/environment.sha256"
echo "SETUP_ENV_COMPLETE"