-
Notifications
You must be signed in to change notification settings - Fork 694
Expand file tree
/
Copy pathinstall.sh
More file actions
executable file
·70 lines (56 loc) · 2.42 KB
/
install.sh
File metadata and controls
executable file
·70 lines (56 loc) · 2.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#!/bin/bash -ex
# Skip system setup if virtual env already exists (e.g., in dev image)
if [ ! -f "/opt/py3/bin/python" ]; then
# install system packages
export DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC
sed -i 's|http://archive.ubuntu.com|http://azure.archive.ubuntu.com|g' /etc/apt/sources.list
apt-get update -y
apt-get install -y --no-install-recommends \
tzdata wget curl ssh sudo git-core vim libibverbs1 ibverbs-providers ibverbs-utils librdmacm1 libibverbs-dev rdma-core libmlx5-1
if [[ ${PYTHON_VERSION} != "3.10" ]]; then
apt-get install -y --no-install-recommends software-properties-common
add-apt-repository -y ppa:deadsnakes/ppa
apt-get update -y
fi
# install python, create virtual env
apt-get install -y --no-install-recommends \
python${PYTHON_VERSION} python${PYTHON_VERSION}-dev python${PYTHON_VERSION}-venv
pushd /opt >/dev/null
python${PYTHON_VERSION} -m venv py3
popd >/dev/null
# install CUDA build tools
if [[ "${CUDA_VERSION_SHORT}" = "cu126" ]]; then
apt-get install -y --no-install-recommends cuda-minimal-build-12-6 numactl dkms
elif [[ "${CUDA_VERSION_SHORT}" = "cu128" ]]; then
apt-get install -y --no-install-recommends cuda-minimal-build-12-8 numactl dkms
elif [[ "${CUDA_VERSION_SHORT}" = "cu130" ]]; then
apt-get install -y --no-install-recommends cuda-minimal-build-13-0 numactl dkms
fi
apt-get clean -y
rm -rf /var/lib/apt/lists/*
fi
# install GDRCopy debs
if [ "$(ls -A /wheels/*.deb 2>/dev/null)" ]; then
dpkg -i /wheels/*.deb
fi
# install python packages
export PATH=/opt/py3/bin:$PATH
pip install -U pip wheel setuptools
if [[ "${CUDA_VERSION_SHORT}" = "cu130" ]]; then
pip install nvidia-nvshmem-cu13==3.4.5
else
pip install nvidia-nvshmem-cu12==3.4.5
fi
pip install /wheels/*.whl
pip install dlblas==0.0.7 dlslime==0.0.2.post1
pip install ninja einops packaging
# install requirements/serve.txt dependencies such as timm
if [ -f /tmp/requirements/serve.txt ]; then
pip install -r /tmp/requirements/serve.txt
fi
if [[ "${CUDA_VERSION_SHORT}" = "cu128" ]]; then
# As described in https://github.com/InternLM/lmdeploy/pull/4313,
# window registration may cause memory leaks in NCCL 2.27, NCCL 2.28+ resolves the issue,
# but turbomind engine will use nccl GIN for EP in future, which is brought in since 2.29
pip install "nvidia-nccl-cu12>2.29"
fi