|
|
#!/usr/bin/env bash |
|
|
set -eo pipefail |
|
|
|
|
|
CONDA_ROOT="/lustre/fsw/portfolios/nvr/projects/nvr_lpr_llm/users/yongganf/anaconda" |
|
|
ENV_NAME="nemotron_flash" |
|
|
PYTHON_VERSION="3.10.12" |
|
|
|
|
|
source "${CONDA_ROOT}/etc/profile.d/conda.sh" |
|
|
|
|
|
if conda env list | awk '{print $1}' | grep -qx "${ENV_NAME}"; then |
|
|
echo "Conda env '${ENV_NAME}' already exists, skipping creation." |
|
|
else |
|
|
echo "Creating conda env '${ENV_NAME}' with Python ${PYTHON_VERSION}..." |
|
|
conda create -n "${ENV_NAME}" "python=${PYTHON_VERSION}" -y |
|
|
fi |
|
|
conda activate "${ENV_NAME}" |
|
|
|
|
|
echo "Installing CUDA toolkit 12.8..." |
|
|
conda install -c nvidia cuda-toolkit=12.8 -y |
|
|
|
|
|
export CUDA_HOME |
|
|
CUDA_HOME="$(dirname "$(dirname "$(which nvcc)")")" |
|
|
echo "CUDA_HOME set to ${CUDA_HOME}" |
|
|
|
|
|
echo "Installing PyTorch and core Python packages..." |
|
|
pip install torch==2.8.0 transformers==4.56.2 psutil |
|
|
|
|
|
echo "Installing causal-conv1d from source..." |
|
|
pip install --no-build-isolation causal-conv1d |
|
|
|
|
|
echo "Installing flash-attention from source..." |
|
|
pip install --no-build-isolation flash-attn==2.7.3 |
|
|
|
|
|
echo "Installing mamba-ssm from source..." |
|
|
pip install --no-build-isolation mamba-ssm |
|
|
|
|
|
echo "Installing flash-linear-attention..." |
|
|
pip install --no-build-isolation flash-linear-attention |
|
|
|
|
|
echo "Done! Environment '${ENV_NAME}' is ready." |
|
|
|
|
|
|