67 lines
2.3 KiB
Bash
Executable File
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"
|