Skip to content

Commit 0749ca5

Browse files
authoredDec 13, 2024··
refine multi-backend setup.py (#2880)
* refine multi-backend setup.py * fix ci requirments * add maca requirements * add maca runtime requirements * Update Dockerfile_aarch64_ascend * Update runtime_maca.txt * change env name * fix cuda requirements
1 parent 8f34eb1 commit 0749ca5

9 files changed

+43
-24
lines changed
 

‎.github/workflows/pr_ete_test.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ on:
1010
- "3rdparty/**"
1111
- "lmdeploy/**"
1212
- "requirements/**"
13-
- "requirements.txt"
13+
- "requirements_cuda.txt"
1414
- "CMakeLists.txt"
1515
- "setup.py"
1616
workflow_dispatch:
@@ -68,7 +68,7 @@ jobs:
6868
export PATH=$PATH:/usr/local/openmpi/bin
6969
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/openmpi/lib
7070
python3 -m pip install cmake packaging wheel transformers_stream_generator transformers datasets openai einops timm decord
71-
python3 -m pip install -r requirements.txt -r requirements/test.txt -r requirements/build.txt
71+
python3 -m pip install -r requirements_cuda.txt -r requirements/test.txt -r requirements/build.txt
7272
mkdir -p build && cd build &&\
7373
sh ../generate.sh &&\
7474
ninja -j$(nproc) && ninja install &&\

‎.github/workflows/unit-test.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ on:
1010
- "3rdparty/**"
1111
- "lmdeploy/**"
1212
- "requirements/**"
13-
- "requirements.txt"
13+
- "requirements_cuda.txt"
1414
- "CMakeLists.txt"
1515
- "setup.py"
1616
push:
@@ -24,7 +24,7 @@ on:
2424
- "3rdparty/**"
2525
- "lmdeploy/**"
2626
- "requirements/**"
27-
- "requirements.txt"
27+
- "requirements_cuda.txt"
2828
- "CMakeLists.txt"
2929
- "setup.py"
3030
tags:
@@ -78,7 +78,7 @@ jobs:
7878
python3 -m pip install pynvml packaging protobuf transformers_stream_generator
7979
# manually install flash attn
8080
python3 -m pip install /root/packages/flash_attn-2.6.3+cu118torch2.3cxx11abiFALSE-cp38-cp38-linux_x86_64.whl
81-
python3 -m pip install -r requirements.txt -r requirements/test.txt
81+
python3 -m pip install -r requirements_cuda.txt -r requirements/test.txt
8282
python3 -m pip install .
8383
- name: Check env
8484
run: |

‎docker/Dockerfile_aarch64_ascend

+1-1
Original file line numberDiff line numberDiff line change
@@ -122,4 +122,4 @@ WORKDIR /opt/lmdeploy
122122

123123
RUN --mount=type=cache,target=/root/.cache/pip \
124124
sed -i '/triton/d' requirements/runtime.txt && \
125-
pip3 install -v --no-build-isolation -e .
125+
LMDEPLOY_TARGET_DEVICE=ascend pip3 install -v --no-build-isolation -e .

‎requirements/runtime_ascend.txt

+2-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ safetensors
1616
sentencepiece
1717
shortuuid
1818
tiktoken
19-
torch<=2.4.0,>=2.0.0
19+
torch<=2.4.0,>=2.3.1
20+
torch-npu==2.3.1
2021
torchvision<=0.19.0,>=0.15.0
2122
transformers
2223
uvicorn
File renamed without changes.

‎requirements/runtime_maca.txt

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
accelerate==0.32.1
2+
einops
3+
fastapi
4+
fire
5+
mmengine-lite
6+
numpy<2.0.0
7+
openai
8+
outlines<0.1.0
9+
peft<=0.11.1
10+
pillow
11+
protobuf
12+
pydantic>2.0.0
13+
pynvml
14+
safetensors
15+
sentencepiece
16+
shortuuid
17+
tiktoken
18+
torch<=2.4.0,>=2.0.0
19+
torchvision<=0.19.0,>=0.15.0
20+
transformers
21+
triton>=2.1.0; sys_platform == "linux"
22+
uvicorn
+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
-r requirements/build.txt
2-
-r requirements/runtime.txt
2+
-r requirements/runtime_cuda.txt
33
-r requirements/lite.txt
44
-r requirements/serve.txt

‎requirements_maca.txt

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
-r requirements/build.txt
2+
-r requirements/runtime_maca.txt
3+
-r requirements/lite.txt
4+
-r requirements/serve.txt

‎setup.py

+8-16
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,14 @@
44

55
from setuptools import find_packages, setup
66

7-
npu_available = False
8-
try:
9-
import torch_npu
10-
11-
npu_available = torch_npu.npu.is_available()
12-
except ImportError:
13-
pass
14-
157
pwd = os.path.dirname(__file__)
168
version_file = 'lmdeploy/version.py'
179

1810

11+
def get_target_device():
12+
return os.getenv('LMDEPLOY_TARGET_DEVICE', 'cuda')
13+
14+
1915
def readme():
2016
with open(os.path.join(pwd, 'README.md'), encoding='utf-8') as f:
2117
content = f.read()
@@ -154,16 +150,12 @@ def gen_packages_items():
154150
setup_requires=parse_requirements('requirements/build.txt'),
155151
tests_require=parse_requirements('requirements/test.txt'),
156152
install_requires=parse_requirements(
157-
'requirements/runtime_ascend.txt'
158-
if npu_available else 'requirements/runtime.txt'),
153+
f'requirements/runtime_{get_target_device()}.txt'),
159154
extras_require={
160155
'all':
161-
parse_requirements('requirements_ascend.txt'
162-
if npu_available else 'requirements.txt'),
163-
'lite':
164-
parse_requirements('requirements/lite.txt'),
165-
'serve':
166-
parse_requirements('requirements/serve.txt')
156+
parse_requirements(f'requirements_{get_target_device()}.txt'),
157+
'lite': parse_requirements('requirements/lite.txt'),
158+
'serve': parse_requirements('requirements/serve.txt')
167159
},
168160
has_ext_modules=check_ext_modules,
169161
classifiers=[

0 commit comments

Comments
 (0)
Please sign in to comment.