|
| 1 | +export UV_CACHE_DIR=/opt/dlami/nvme/uv-cache-suhaschundi |
| 2 | +export UV_PROJECT_ENVIRONMENT=/opt/dlami/nvme/skyrl-venv-suhaschundi |
| 3 | +export UV_PYTHON=3.12 |
| 4 | + |
| 5 | +SKYRL_SRC=/mnt/efs/suhaschundi/SkyRL |
| 6 | +SYNC_MARKER=$UV_PROJECT_ENVIRONMENT/.synced |
| 7 | +if [[ ! -d "$UV_PROJECT_ENVIRONMENT" \ |
| 8 | + || "$SKYRL_SRC/uv.lock" -nt "$SYNC_MARKER" \ |
| 9 | + || "$SKYRL_SRC/pyproject.toml" -nt "$SYNC_MARKER" ]]; then |
| 10 | + echo "[env.megatron] syncing venv to NVMe at $UV_PROJECT_ENVIRONMENT..." |
| 11 | + mkdir -p "$UV_CACHE_DIR" |
| 12 | + (cd "$SKYRL_SRC" && uv sync --frozen) && touch "$SYNC_MARKER" |
| 13 | +fi |
| 14 | + |
| 15 | +# Ensure vllm is present: lock/source-override conflict makes uv silently |
| 16 | +# skip vllm on fresh venvs. Install PyPI 0.19 as a baseline; swap to local |
| 17 | +# editable for VLM runs that need a newer version. |
| 18 | +if ! "$UV_PROJECT_ENVIRONMENT/bin/python" -c "import vllm" 2>/dev/null; then |
| 19 | + echo "[env.megatron] installing vllm baseline..." |
| 20 | + uv pip install --python "$UV_PROJECT_ENVIRONMENT/bin/python" "vllm==0.19.0" --no-deps |
| 21 | +fi |
| 22 | +unset SKYRL_SRC SYNC_MARKER |
| 23 | + |
| 24 | +export CUDNN_PATH=$UV_PROJECT_ENVIRONMENT/lib/python3.12/site-packages/nvidia/cudnn |
| 25 | +export CPATH=$CUDNN_PATH/include:$CPATH |
| 26 | +export LIBRARY_PATH=$CUDNN_PATH/lib:$LIBRARY_PATH |
| 27 | +export LD_LIBRARY_PATH=$CUDNN_PATH/lib:$LD_LIBRARY_PATH |
| 28 | +export LD_LIBRARY_PATH=$(python -c 'import os, glob; print(":".join(sorted(set(os.path.dirname(p) for p in glob.glob(os.environ["UV_PROJECT_ENVIRONMENT"] + "/lib/python3.12/site-packages/nvidia/*/lib/*.so*")))))'):$LD_LIBRARY_PATH |
| 29 | + |
| 30 | +export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 |
| 31 | +export NVIDIA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 |
| 32 | +export RAY_enable_metrics_agent=0 |
0 commit comments