Unverified Commit 206e2577 authored by Harry Mellor's avatar Harry Mellor Committed by GitHub
Browse files

Move requirements into their own directory (#12547)


Signed-off-by: default avatarHarry Mellor <19981378+hmellor@users.noreply.github.com>
parent e02883c4
# Common dependencies # Common dependencies
-r requirements-common.txt -r common.txt
# Dependencies for Neuron devices # Dependencies for Neuron devices
torch-neuronx >= 2.5.0 torch-neuronx >= 2.5.0
......
# Common dependencies # Common dependencies
-r requirements-common.txt -r common.txt
torch == 2.5.1 # should be aligned with "common" vLLM torch version torch == 2.5.1 # should be aligned with "common" vLLM torch version
openvino >= 2024.4.0 # since 2024.4.0 both CPU and GPU support Paged Attention openvino >= 2024.4.0 # since 2024.4.0 both CPU and GPU support Paged Attention
......
# Common dependencies # Common dependencies
-r requirements-common.txt -r common.txt
--extra-index-url https://download.pytorch.org/whl/rocm6.2 --extra-index-url https://download.pytorch.org/whl/rocm6.2
torch==2.5.1 torch==2.5.1
......
# Common dependencies # Common dependencies
-r requirements-common.txt -r common.txt
numba == 0.60.0 # v0.61 doesn't support Python 3.9. Required for N-gram speculative decoding numba == 0.60.0 # v0.61 doesn't support Python 3.9. Required for N-gram speculative decoding
......
# This file was autogenerated by uv via the following command: # This file was autogenerated by uv via the following command:
# uv pip compile requirements-test.in -o requirements-test.txt # uv pip compile requirements/test.in -o requirements/test.txt
absl-py==2.1.0 absl-py==2.1.0
# via rouge-score # via rouge-score
accelerate==1.0.1 accelerate==1.0.1
...@@ -32,9 +32,9 @@ attrs==24.2.0 ...@@ -32,9 +32,9 @@ attrs==24.2.0
audioread==3.0.1 audioread==3.0.1
# via librosa # via librosa
awscli==1.35.23 awscli==1.35.23
# via -r requirements-test.in # via -r requirements/test.in
bitsandbytes==0.45.0 bitsandbytes==0.45.0
# via -r requirements-test.in # via -r requirements/test.in
black==24.10.0 black==24.10.0
# via datamodel-code-generator # via datamodel-code-generator
boto3==1.35.57 boto3==1.35.57
...@@ -47,7 +47,7 @@ botocore==1.35.57 ...@@ -47,7 +47,7 @@ botocore==1.35.57
bounded-pool-executor==0.0.3 bounded-pool-executor==0.0.3
# via pqdm # via pqdm
buildkite-test-collector==0.1.9 buildkite-test-collector==0.1.9
# via -r requirements-test.in # via -r requirements/test.in
certifi==2024.8.30 certifi==2024.8.30
# via # via
# httpcore # httpcore
...@@ -79,7 +79,7 @@ cupy-cuda12x==13.3.0 ...@@ -79,7 +79,7 @@ cupy-cuda12x==13.3.0
cycler==0.12.1 cycler==0.12.1
# via matplotlib # via matplotlib
datamodel-code-generator==0.26.3 datamodel-code-generator==0.26.3
# via -r requirements-test.in # via -r requirements/test.in
dataproperty==1.0.1 dataproperty==1.0.1
# via # via
# pytablewriter # pytablewriter
...@@ -91,7 +91,7 @@ datasets==3.0.2 ...@@ -91,7 +91,7 @@ datasets==3.0.2
decorator==5.1.1 decorator==5.1.1
# via librosa # via librosa
decord==0.6.0 decord==0.6.0
# via -r requirements-test.in # via -r requirements/test.in
dill==0.3.8 dill==0.3.8
# via # via
# datasets # datasets
...@@ -104,7 +104,7 @@ docutils==0.16 ...@@ -104,7 +104,7 @@ docutils==0.16
# via awscli # via awscli
einops==0.8.0 einops==0.8.0
# via # via
# -r requirements-test.in # -r requirements/test.in
# encodec # encodec
# vector-quantize-pytorch # vector-quantize-pytorch
# vocos # vocos
...@@ -145,7 +145,7 @@ fsspec==2024.9.0 ...@@ -145,7 +145,7 @@ fsspec==2024.9.0
# huggingface-hub # huggingface-hub
# torch # torch
genai-perf==0.0.8 genai-perf==0.0.8
# via -r requirements-test.in # via -r requirements/test.in
genson==1.3.0 genson==1.3.0
# via datamodel-code-generator # via datamodel-code-generator
h11==0.14.0 h11==0.14.0
...@@ -155,7 +155,7 @@ hiredis==3.0.0 ...@@ -155,7 +155,7 @@ hiredis==3.0.0
httpcore==1.0.6 httpcore==1.0.6
# via httpx # via httpx
httpx==0.27.2 httpx==0.27.2
# via -r requirements-test.in # via -r requirements/test.in
huggingface-hub==0.26.2 huggingface-hub==0.26.2
# via # via
# accelerate # accelerate
...@@ -187,7 +187,7 @@ jinja2==3.1.4 ...@@ -187,7 +187,7 @@ jinja2==3.1.4
# datamodel-code-generator # datamodel-code-generator
# torch # torch
jiwer==3.0.5 jiwer==3.0.5
# via -r requirements-test.in # via -r requirements/test.in
jmespath==1.0.1 jmespath==1.0.1
# via # via
# boto3 # boto3
...@@ -214,11 +214,11 @@ lazy-loader==0.4 ...@@ -214,11 +214,11 @@ lazy-loader==0.4
libnacl==2.1.0 libnacl==2.1.0
# via tensorizer # via tensorizer
librosa==0.10.2.post1 librosa==0.10.2.post1
# via -r requirements-test.in # via -r requirements/test.in
llvmlite==0.43.0 llvmlite==0.43.0
# via numba # via numba
lm-eval==0.4.4 lm-eval==0.4.4
# via -r requirements-test.in # via -r requirements/test.in
lxml==5.3.0 lxml==5.3.0
# via sacrebleu # via sacrebleu
markdown-it-py==3.0.0 markdown-it-py==3.0.0
...@@ -226,7 +226,7 @@ markdown-it-py==3.0.0 ...@@ -226,7 +226,7 @@ markdown-it-py==3.0.0
markupsafe==3.0.2 markupsafe==3.0.2
# via jinja2 # via jinja2
matplotlib==3.9.2 matplotlib==3.9.2
# via -r requirements-test.in # via -r requirements/test.in
mbstrdecoder==1.1.3 mbstrdecoder==1.1.3
# via # via
# dataproperty # dataproperty
...@@ -235,7 +235,7 @@ mbstrdecoder==1.1.3 ...@@ -235,7 +235,7 @@ mbstrdecoder==1.1.3
mdurl==0.1.2 mdurl==0.1.2
# via markdown-it-py # via markdown-it-py
mistral-common==1.5.1 mistral-common==1.5.1
# via -r requirements-test.in # via -r requirements/test.in
more-itertools==10.5.0 more-itertools==10.5.0
# via lm-eval # via lm-eval
mpmath==1.3.0 mpmath==1.3.0
...@@ -264,7 +264,7 @@ numexpr==2.10.1 ...@@ -264,7 +264,7 @@ numexpr==2.10.1
# via lm-eval # via lm-eval
numpy==1.26.4 numpy==1.26.4
# via # via
# -r requirements-test.in # -r requirements/test.in
# accelerate # accelerate
# bitsandbytes # bitsandbytes
# contourpy # contourpy
...@@ -366,7 +366,7 @@ patsy==1.0.1 ...@@ -366,7 +366,7 @@ patsy==1.0.1
# via statsmodels # via statsmodels
peft==0.13.2 peft==0.13.2
# via # via
# -r requirements-test.in # -r requirements/test.in
# lm-eval # lm-eval
pillow==10.4.0 pillow==10.4.0
# via # via
...@@ -388,7 +388,7 @@ pooch==1.8.2 ...@@ -388,7 +388,7 @@ pooch==1.8.2
portalocker==2.10.1 portalocker==2.10.1
# via sacrebleu # via sacrebleu
pqdm==0.2.0 pqdm==0.2.0
# via -r requirements-test.in # via -r requirements/test.in
propcache==0.2.0 propcache==0.2.0
# via yarl # via yarl
protobuf==5.28.3 protobuf==5.28.3
...@@ -426,7 +426,7 @@ pytablewriter==1.2.0 ...@@ -426,7 +426,7 @@ pytablewriter==1.2.0
# via lm-eval # via lm-eval
pytest==8.3.3 pytest==8.3.3
# via # via
# -r requirements-test.in # -r requirements/test.in
# buildkite-test-collector # buildkite-test-collector
# genai-perf # genai-perf
# pytest-asyncio # pytest-asyncio
...@@ -435,15 +435,15 @@ pytest==8.3.3 ...@@ -435,15 +435,15 @@ pytest==8.3.3
# pytest-rerunfailures # pytest-rerunfailures
# pytest-shard # pytest-shard
pytest-asyncio==0.24.0 pytest-asyncio==0.24.0
# via -r requirements-test.in # via -r requirements/test.in
pytest-forked==1.6.0 pytest-forked==1.6.0
# via -r requirements-test.in # via -r requirements/test.in
pytest-mock==3.14.0 pytest-mock==3.14.0
# via genai-perf # via genai-perf
pytest-rerunfailures==14.0 pytest-rerunfailures==14.0
# via -r requirements-test.in # via -r requirements/test.in
pytest-shard==0.1.2 pytest-shard==0.1.2
# via -r requirements-test.in # via -r requirements/test.in
python-dateutil==2.9.0.post0 python-dateutil==2.9.0.post0
# via # via
# botocore # botocore
...@@ -473,7 +473,7 @@ pyyaml==6.0.2 ...@@ -473,7 +473,7 @@ pyyaml==6.0.2
rapidfuzz==3.12.1 rapidfuzz==3.12.1
# via jiwer # via jiwer
ray==2.43.0 ray==2.43.0
# via -r requirements-test.in # via -r requirements/test.in
redis==5.2.0 redis==5.2.0
# via tensorizer # via tensorizer
referencing==0.35.1 referencing==0.35.1
...@@ -512,9 +512,9 @@ rpds-py==0.20.1 ...@@ -512,9 +512,9 @@ rpds-py==0.20.1
rsa==4.7.2 rsa==4.7.2
# via awscli # via awscli
runai-model-streamer==0.11.0 runai-model-streamer==0.11.0
# via -r requirements-test.in # via -r requirements/test.in
runai-model-streamer-s3==0.11.0 runai-model-streamer-s3==0.11.0
# via -r requirements-test.in # via -r requirements/test.in
s3transfer==0.10.3 s3transfer==0.10.3
# via # via
# awscli # awscli
...@@ -540,7 +540,7 @@ scipy==1.13.1 ...@@ -540,7 +540,7 @@ scipy==1.13.1
# statsmodels # statsmodels
# vocos # vocos
sentence-transformers==3.2.1 sentence-transformers==3.2.1
# via -r requirements-test.in # via -r requirements/test.in
sentencepiece==0.2.0 sentencepiece==0.2.0
# via mistral-common # via mistral-common
setuptools==75.8.0 setuptools==75.8.0
...@@ -557,7 +557,7 @@ sniffio==1.3.1 ...@@ -557,7 +557,7 @@ sniffio==1.3.1
# httpx # httpx
soundfile==0.12.1 soundfile==0.12.1
# via # via
# -r requirements-test.in # -r requirements/test.in
# librosa # librosa
soxr==0.5.0.post1 soxr==0.5.0.post1
# via librosa # via librosa
...@@ -580,7 +580,7 @@ tenacity==9.0.0 ...@@ -580,7 +580,7 @@ tenacity==9.0.0
# lm-eval # lm-eval
# plotly # plotly
tensorizer==2.9.0 tensorizer==2.9.0
# via -r requirements-test.in # via -r requirements/test.in
threadpoolctl==3.5.0 threadpoolctl==3.5.0
# via scikit-learn # via scikit-learn
tiktoken==0.7.0 tiktoken==0.7.0
...@@ -588,12 +588,12 @@ tiktoken==0.7.0 ...@@ -588,12 +588,12 @@ tiktoken==0.7.0
# lm-eval # lm-eval
# mistral-common # mistral-common
timm==1.0.11 timm==1.0.11
# via -r requirements-test.in # via -r requirements/test.in
tokenizers==0.21.0 tokenizers==0.21.0
# via transformers # via transformers
torch==2.5.1 torch==2.5.1
# via # via
# -r requirements-test.in # -r requirements/test.in
# accelerate # accelerate
# bitsandbytes # bitsandbytes
# encodec # encodec
...@@ -609,7 +609,7 @@ torch==2.5.1 ...@@ -609,7 +609,7 @@ torch==2.5.1
# vocos # vocos
torchaudio==2.5.1 torchaudio==2.5.1
# via # via
# -r requirements-test.in # -r requirements/test.in
# encodec # encodec
# vocos # vocos
torchvision==0.20.1 torchvision==0.20.1
...@@ -630,19 +630,19 @@ tqdm-multiprocess==0.0.11 ...@@ -630,19 +630,19 @@ tqdm-multiprocess==0.0.11
# via lm-eval # via lm-eval
transformers==4.48.2 transformers==4.48.2
# via # via
# -r requirements-test.in # -r requirements/test.in
# genai-perf # genai-perf
# lm-eval # lm-eval
# peft # peft
# sentence-transformers # sentence-transformers
# transformers-stream-generator # transformers-stream-generator
transformers-stream-generator==0.0.5 transformers-stream-generator==0.0.5
# via -r requirements-test.in # via -r requirements/test.in
triton==3.1.0 triton==3.1.0
# via torch # via torch
tritonclient==2.51.0 tritonclient==2.51.0
# via # via
# -r requirements-test.in # -r requirements/test.in
# genai-perf # genai-perf
typepy==1.3.2 typepy==1.3.2
# via # via
...@@ -668,9 +668,9 @@ urllib3==2.2.3 ...@@ -668,9 +668,9 @@ urllib3==2.2.3
# responses # responses
# tritonclient # tritonclient
vector-quantize-pytorch==1.21.2 vector-quantize-pytorch==1.21.2
# via -r requirements-test.in # via -r requirements/test.in
vocos==0.1.0 vocos==0.1.0
# via -r requirements-test.in # via -r requirements/test.in
word2number==1.1 word2number==1.1
# via lm-eval # via lm-eval
xxhash==3.5.0 xxhash==3.5.0
......
# Common dependencies # Common dependencies
-r requirements-common.txt -r common.txt
# Dependencies for TPU # Dependencies for TPU
cmake>=3.26 cmake>=3.26
......
# Common dependencies # Common dependencies
-r requirements-common.txt -r common.txt
ray >= 2.9 ray >= 2.9
cmake>=3.26 cmake>=3.26
......
...@@ -27,7 +27,7 @@ def load_module_from_path(module_name, path): ...@@ -27,7 +27,7 @@ def load_module_from_path(module_name, path):
return module return module
ROOT_DIR = os.path.dirname(__file__) ROOT_DIR = Path(__file__).parent
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
# cannot import envs directly because it depends on vllm, # cannot import envs directly because it depends on vllm,
...@@ -520,10 +520,6 @@ def get_nvcc_cuda_version() -> Version: ...@@ -520,10 +520,6 @@ def get_nvcc_cuda_version() -> Version:
return nvcc_cuda_version return nvcc_cuda_version
def get_path(*filepath) -> str:
return os.path.join(ROOT_DIR, *filepath)
def get_gaudi_sw_version(): def get_gaudi_sw_version():
""" """
Returns the driver version. Returns the driver version.
...@@ -591,9 +587,10 @@ def get_vllm_version() -> str: ...@@ -591,9 +587,10 @@ def get_vllm_version() -> str:
def get_requirements() -> list[str]: def get_requirements() -> list[str]:
"""Get Python package dependencies from requirements.txt.""" """Get Python package dependencies from requirements.txt."""
requirements_dir = ROOT_DIR / "requirements"
def _read_requirements(filename: str) -> list[str]: def _read_requirements(filename: str) -> list[str]:
with open(get_path(filename)) as f: with open(requirements_dir / filename) as f:
requirements = f.read().strip().split("\n") requirements = f.read().strip().split("\n")
resolved_requirements = [] resolved_requirements = []
for line in requirements: for line in requirements:
...@@ -606,9 +603,9 @@ def get_requirements() -> list[str]: ...@@ -606,9 +603,9 @@ def get_requirements() -> list[str]:
return resolved_requirements return resolved_requirements
if _no_device(): if _no_device():
requirements = _read_requirements("requirements-common.txt") requirements = _read_requirements("common.txt")
elif _is_cuda(): elif _is_cuda():
requirements = _read_requirements("requirements-cuda.txt") requirements = _read_requirements("cuda.txt")
cuda_major, cuda_minor = torch.version.cuda.split(".") cuda_major, cuda_minor = torch.version.cuda.split(".")
modified_requirements = [] modified_requirements = []
for req in requirements: for req in requirements:
...@@ -619,19 +616,19 @@ def get_requirements() -> list[str]: ...@@ -619,19 +616,19 @@ def get_requirements() -> list[str]:
modified_requirements.append(req) modified_requirements.append(req)
requirements = modified_requirements requirements = modified_requirements
elif _is_hip(): elif _is_hip():
requirements = _read_requirements("requirements-rocm.txt") requirements = _read_requirements("rocm.txt")
elif _is_neuron(): elif _is_neuron():
requirements = _read_requirements("requirements-neuron.txt") requirements = _read_requirements("neuron.txt")
elif _is_hpu(): elif _is_hpu():
requirements = _read_requirements("requirements-hpu.txt") requirements = _read_requirements("hpu.txt")
elif _is_openvino(): elif _is_openvino():
requirements = _read_requirements("requirements-openvino.txt") requirements = _read_requirements("openvino.txt")
elif _is_tpu(): elif _is_tpu():
requirements = _read_requirements("requirements-tpu.txt") requirements = _read_requirements("tpu.txt")
elif _is_cpu(): elif _is_cpu():
requirements = _read_requirements("requirements-cpu.txt") requirements = _read_requirements("cpu.txt")
elif _is_xpu(): elif _is_xpu():
requirements = _read_requirements("requirements-xpu.txt") requirements = _read_requirements("xpu.txt")
else: else:
raise ValueError( raise ValueError(
"Unsupported platform, please use CUDA, ROCm, Neuron, HPU, " "Unsupported platform, please use CUDA, ROCm, Neuron, HPU, "
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
import glob import glob
requires_files = glob.glob('requirements*.txt') requires_files = glob.glob('requirements/*.txt')
requires_files += ["pyproject.toml"] requires_files += ["pyproject.toml"]
for file in requires_files: for file in requires_files:
print(f">>> cleaning {file}") print(f">>> cleaning {file}")
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment