Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
change
sglang
Commits
cb99ba4f
Unverified
Commit
cb99ba4f
authored
Aug 12, 2024
by
Yineng Zhang
Committed by
GitHub
Aug 12, 2024
Browse files
feat: update Dockerfile (#1033)
Co-authored-by:
vhain
<
vhain6512@gmail.com
>
parent
32f61443
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
59 additions
and
32 deletions
+59
-32
.github/workflows/release-docker.yml
.github/workflows/release-docker.yml
+25
-13
docker/Dockerfile
docker/Dockerfile
+34
-19
No files found.
.github/workflows/release-docker.yml
View file @
cb99ba4f
name
:
Release Docker
name
:
Release Docker
Images
on
:
on
:
push
:
push
:
branches
:
branches
:
...
@@ -14,25 +14,28 @@ jobs:
...
@@ -14,25 +14,28 @@ jobs:
environment
:
'
prod'
environment
:
'
prod'
strategy
:
strategy
:
matrix
:
matrix
:
cuda_version
:
[
'
12.1.1'
,
'
12.4.1'
]
cuda_version
:
[
'
11.8.0'
,
'
12.1.1'
,
'
12.4.1'
]
build_type
:
[
'
all'
,
'
srt'
]
steps
:
steps
:
-
name
:
Delete huge unnecessary tools folder
-
name
:
Delete huge unnecessary tools folder
run
:
rm -rf /opt/hostedtoolcache
run
:
rm -rf /opt/hostedtoolcache
-
name
:
Checkout repository
-
name
:
Checkout repository
uses
:
actions/checkout@v3
uses
:
actions/checkout@v3
-
name
:
Login to Docker Hub
-
name
:
Login to Docker Hub
uses
:
docker/login-action@v2
uses
:
docker/login-action@v2
with
:
with
:
username
:
${{ secrets.DOCKERHUB_USERNAME }}
username
:
${{ secrets.DOCKERHUB_USERNAME }}
password
:
${{ secrets.DOCKERHUB_TOKEN }}
password
:
${{ secrets.DOCKERHUB_TOKEN }}
-
name
:
Build and Push
-
name
:
Build and Push
run
:
|
run
:
|
version=$(cat python/sglang/version.py | cut -d'"' -f2)
version=$(cat python/sglang/version.py | cut -d'"' -f2)
if [ "${{ matrix.cuda_version }}" = "12.1.1" ]; then
if [ "${{ matrix.cuda_version }}" = "11.8.0" ]; then
cuda_tag="cu118"
elif [ "${{ matrix.cuda_version }}" = "12.1.1" ]; then
cuda_tag="cu121"
cuda_tag="cu121"
elif [ "${{ matrix.cuda_version }}" = "12.4.1" ]; then
elif [ "${{ matrix.cuda_version }}" = "12.4.1" ]; then
cuda_tag="cu124"
cuda_tag="cu124"
...
@@ -40,13 +43,22 @@ jobs:
...
@@ -40,13 +43,22 @@ jobs:
echo "Unsupported CUDA version"
echo "Unsupported CUDA version"
exit 1
exit 1
fi
fi
tag=v${version}-${cuda_tag}
tag=v${version}-${cuda_tag}
docker build . -f docker/Dockerfile --build-arg CUDA_VERSION=${{ matrix.cuda_version }} -t lmsysorg/sglang:${tag} --no-cache
if [ "${{ matrix.build_type }}" = "all" ]; then
docker push lmsysorg/sglang:${tag}
tag_suffix=""
elif [ "${{ matrix.build_type }}" = "srt" ]; then
tag_suffix="-srt"
else
echo "Unsupported build type"
exit 1
fi
docker build . -f docker/Dockerfile --build-arg CUDA_VERSION=${{ matrix.cuda_version }} --build-arg BUILD_TYPE=${{ matrix.build_type }} -t lmsysorg/sglang:${tag}${tag_suffix} --no-cache
docker push lmsysorg/sglang:${tag}${tag_suffix}
if [ "${{ matrix.cuda_version }}" = "12.1.1" ]; then
if [ "${{ matrix.cuda_version }}" = "12.1.1" ]; then
docker tag lmsysorg/sglang:${tag} lmsysorg/sglang:latest
docker tag lmsysorg/sglang:${tag}
${tag_suffix}
lmsysorg/sglang:latest
${tag_suffix}
docker push lmsysorg/sglang:latest
docker push lmsysorg/sglang:latest
${tag_suffix}
fi
fi
docker/Dockerfile
View file @
cb99ba4f
ARG
CUDA_VERSION=12.1.1
ARG
CUDA_VERSION=12.1.1
FROM
nvidia/cuda:${CUDA_VERSION}-runtime-ubuntu20.04
FROM
nvidia/cuda:${CUDA_VERSION}-devel-ubuntu20.04
ARG
BUILD_TYPE=all
ARG
PYTHON_VERSION=3
ENV
DEBIAN_FRONTEND=noninteractive
ENV
DEBIAN_FRONTEND=noninteractive
RUN
echo
'tzdata tzdata/Areas select America'
| debconf-set-selections
\
RUN
echo
'tzdata tzdata/Areas select America'
| debconf-set-selections
\
&&
echo
'tzdata tzdata/Zones/America select Los_Angeles'
| debconf-set-selections
\
&&
echo
'tzdata tzdata/Zones/America select Los_Angeles'
| debconf-set-selections
\
&&
apt-get update
-y
\
&&
apt update
-y
\
&&
apt-get
install
-y
ccache software-properties-common
\
&&
apt
install
software-properties-common
-y
\
&&
add-apt-repository ppa:deadsnakes/ppa
\
&&
add-apt-repository ppa:deadsnakes/ppa
-y
&&
apt update
\
&&
apt-get update
-y
\
&&
apt
install
python3.10
-y
\
&&
apt-get
install
-y
python
${
PYTHON_VERSION
}
python
${
PYTHON_VERSION
}
-dev
python
${
PYTHON_VERSION
}
-venv
python
${
PYTHON_VERSION
}
-pip
\
&&
update-alternatives
--install
/usr/bin/python3 python3 /usr/bin/python3.8 1
&&
update-alternatives
--install
/usr/bin/python3 python3 /usr/bin/python3.10 2
\
&&
if
[
"
${
PYTHON_VERSION
}
"
!=
"3"
]
;
then
update-alternatives
--install
/usr/bin/python3 python3 /usr/bin/python
${
PYTHON_VERSION
}
1
;
fi
\
&&
update-alternatives
--set
python3 /usr/bin/python3.10
&&
apt
install
python3.10-distutils
-y
\
&&
apt
install
curl git
sudo
-y
\
&&
curl https://bootstrap.pypa.io/get-pip.py
-o
get-pip.py
&&
python3 get-pip.py
\
&&
python3
--version
\
&&
python3
--version
\
&&
python3
-m
pip
--version
\
&&
python3
-m
pip
--version
\
&&
rm
-rf
/var/lib/apt/lists/
*
\
&&
rm
-rf
/var/lib/apt/lists/
*
\
&&
apt-get clean
&&
apt clean
RUN
apt-get update
-y
\
&&
apt-get
install
-y
git curl
sudo
WORKDIR
/sgl-workspace
WORKDIR
/sgl-workspace
RUN
pip3
--no-cache-dir
install
--upgrade
pip
\
RUN
python3
-m
pip
install
--upgrade
pip setuptools wheel html5lib six
\
&&
pip3
--no-cache-dir
install
--upgrade
setuptools wheel
\
&&
git clone
--depth
=
1 https://github.com/sgl-project/sglang.git
\
&&
git clone
--depth
=
1 https://github.com/sgl-project/sglang.git
\
&&
cd
sglang
\
&&
cd
sglang
\
&&
pip
--no-cache-dir
install
-e
"python[all]"
\
&&
if
[
"
$BUILD_TYPE
"
=
"srt"
]
;
then
\
&&
pip3
--no-cache-dir
install
flashinfer
-i
https://flashinfer.ai/whl/cu121/torch2.4/
python3
-m
pip
--no-cache-dir
install
-e
"python[srt]"
;
\
else
\
python3
-m
pip
--no-cache-dir
install
-e
"python[all]"
;
\
fi
ARG
CUDA_VERSION
RUN if
[
"
$CUDA_VERSION
"
=
"12.1.1"
]
;
then
\
export
CUDA_IDENTIFIER
=
cu121
&&
\
python3
-m
pip
--no-cache-dir
install
flashinfer
-i
https://flashinfer.ai/whl/cu121/torch2.4/
;
\
elif
[
"
$CUDA_VERSION
"
=
"12.4.1"
]
;
then
\
export
CUDA_IDENTIFIER
=
cu124
&&
\
python3
-m
pip
--no-cache-dir
install
flashinfer
-i
https://flashinfer.ai/whl/cu124/torch2.4/
;
\
elif
[
"
$CUDA_VERSION
"
=
"11.8.0"
]
;
then
\
export
CUDA_IDENTIFIER
=
cu118
&&
\
python3
-m
pip
install
torch
==
2.4.0
--index-url
https://download.pytorch.org/whl/cu118
&&
\
python3
-m
pip
--no-cache-dir
install
flashinfer
-i
https://flashinfer.ai/whl/cu118/torch2.4/
;
\
else
\
echo
"Unsupported CUDA version:
$CUDA_VERSION
"
&&
exit
1
;
\
fi
RUN
python3
-m
pip cache purge
ENV
DEBIAN_FRONTEND=interactive
ENV
DEBIAN_FRONTEND=interactive
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment