[ROCm][CI] Add uv pip compile workflow for rocm-test.txt lockfile (#37930)
Signed-off-by: Andreas Karatzas <akaratza@amd.com>
This commit is contained in:
@@ -36,11 +36,46 @@ repos:
|
|||||||
hooks:
|
hooks:
|
||||||
- id: actionlint
|
- id: actionlint
|
||||||
- repo: https://github.com/astral-sh/uv-pre-commit
|
- repo: https://github.com/astral-sh/uv-pre-commit
|
||||||
rev: 0.9.1
|
rev: 0.11.1
|
||||||
hooks:
|
hooks:
|
||||||
- id: pip-compile
|
- id: pip-compile
|
||||||
args: [requirements/test.in, -o, requirements/test.txt, --index-strategy, unsafe-best-match, --torch-backend, cu129, --python-platform, x86_64-manylinux_2_28, --python-version, "3.12"]
|
args: [requirements/test.in, -o, requirements/test.txt, --index-strategy, unsafe-best-match, --torch-backend, cu129, --python-platform, x86_64-manylinux_2_28, --python-version, "3.12"]
|
||||||
files: ^requirements/test\.(in|txt)$
|
files: ^requirements/test\.(in|txt)$
|
||||||
|
- id: pip-compile
|
||||||
|
alias: pip-compile-rocm
|
||||||
|
name: pip-compile-rocm
|
||||||
|
args: [
|
||||||
|
requirements/rocm-test.in, -o, requirements/rocm-test.txt,
|
||||||
|
--index-strategy, unsafe-best-match,
|
||||||
|
-c, requirements/rocm.txt,
|
||||||
|
--python-platform, x86_64-manylinux_2_28,
|
||||||
|
--python-version, "3.12",
|
||||||
|
# Exclude torch and CUDA/NVIDIA packages
|
||||||
|
--no-emit-package, torch,
|
||||||
|
--no-emit-package, torchvision,
|
||||||
|
--no-emit-package, torchaudio,
|
||||||
|
--no-emit-package, triton,
|
||||||
|
--no-emit-package, cuda-bindings,
|
||||||
|
--no-emit-package, cuda-pathfinder,
|
||||||
|
--no-emit-package, cuda-toolkit,
|
||||||
|
--no-emit-package, cupy-cuda12x,
|
||||||
|
--no-emit-package, nvidia-cublas,
|
||||||
|
--no-emit-package, nvidia-cuda-cupti,
|
||||||
|
--no-emit-package, nvidia-cuda-nvrtc,
|
||||||
|
--no-emit-package, nvidia-cuda-runtime,
|
||||||
|
--no-emit-package, nvidia-cudnn-cu13,
|
||||||
|
--no-emit-package, nvidia-cufft,
|
||||||
|
--no-emit-package, nvidia-cufile,
|
||||||
|
--no-emit-package, nvidia-curand,
|
||||||
|
--no-emit-package, nvidia-cusolver,
|
||||||
|
--no-emit-package, nvidia-cusparse,
|
||||||
|
--no-emit-package, nvidia-cusparselt-cu13,
|
||||||
|
--no-emit-package, nvidia-nccl-cu13,
|
||||||
|
--no-emit-package, nvidia-nvjitlink,
|
||||||
|
--no-emit-package, nvidia-nvshmem-cu13,
|
||||||
|
--no-emit-package, nvidia-nvtx,
|
||||||
|
]
|
||||||
|
files: ^requirements/rocm-test\.(in|txt)$
|
||||||
- repo: local
|
- repo: local
|
||||||
hooks:
|
hooks:
|
||||||
- id: format-torch-nightly-test
|
- id: format-torch-nightly-test
|
||||||
|
|||||||
@@ -329,6 +329,11 @@ RUN --mount=type=bind,from=export_vllm,src=/,target=/install \
|
|||||||
&& pip uninstall -y vllm \
|
&& pip uninstall -y vllm \
|
||||||
&& uv pip install --system *.whl
|
&& uv pip install --system *.whl
|
||||||
|
|
||||||
|
# Verify that PyTorch is the ROCm build, not CUDA
|
||||||
|
RUN python3 -c "import torch; assert torch.version.hip is not None, \
|
||||||
|
f'Expected ROCm PyTorch but got CUDA (torch.version.cuda={torch.version.cuda}, torch.version.hip={torch.version.hip})'; \
|
||||||
|
print(f'Verified: PyTorch {torch.__version__} with ROCm (HIP {torch.version.hip})')"
|
||||||
|
|
||||||
# Install RIXL wheel
|
# Install RIXL wheel
|
||||||
RUN --mount=type=bind,from=build_rixl,src=/app/install,target=/rixl_install \
|
RUN --mount=type=bind,from=build_rixl,src=/app/install,target=/rixl_install \
|
||||||
uv pip install --system /rixl_install/*.whl
|
uv pip install --system /rixl_install/*.whl
|
||||||
|
|||||||
83
requirements/rocm-test.in
Normal file
83
requirements/rocm-test.in
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
# testing
|
||||||
|
pytest
|
||||||
|
tensorizer==2.10.1
|
||||||
|
pytest-forked
|
||||||
|
pytest-asyncio
|
||||||
|
pytest-rerunfailures
|
||||||
|
pytest-shard
|
||||||
|
pytest-timeout
|
||||||
|
pytest-cov
|
||||||
|
|
||||||
|
# testing utils
|
||||||
|
albumentations # required for Nemotron Parse in test_common.py
|
||||||
|
av # required for audio_in_video tests
|
||||||
|
backoff # required for phi4mm test
|
||||||
|
blobfile # required for kimi-vl test
|
||||||
|
einops # required for MPT, qwen-vl
|
||||||
|
httpx
|
||||||
|
librosa # required for audio tests
|
||||||
|
vector_quantize_pytorch # required for minicpmo_26 test
|
||||||
|
vocos # required for minicpmo_26 test
|
||||||
|
peft>=0.15.0 # required for phi-4-mm test
|
||||||
|
pqdm
|
||||||
|
ray[cgraph,default]>=2.48.0 # Ray Compiled Graph, required by pipeline parallelism tests
|
||||||
|
resampy # required for audio tests
|
||||||
|
sentence-transformers>=5.2.0 # required for embedding tests
|
||||||
|
soundfile # required for audio tests
|
||||||
|
jiwer # required for audio tests
|
||||||
|
tblib # for pickling test exceptions
|
||||||
|
timm>=1.0.17 # required for internvl and gemma3n-mm test
|
||||||
|
transformers_stream_generator # required for qwen-vl test
|
||||||
|
matplotlib # required for qwen-vl test
|
||||||
|
mistral_common[image,audio]>=1.10.0 # required for voxtral test
|
||||||
|
num2words # required for smolvlm test
|
||||||
|
open_clip_torch==2.32.0 # Required for nemotron_vl test, Nemotron Parse in test_common.py
|
||||||
|
opencv-python-headless>=4.13.0 # required for video test
|
||||||
|
datamodel_code_generator # required for minicpm3 test
|
||||||
|
lm-eval[api]>=0.4.11 # required for model evaluation test
|
||||||
|
mteb[bm25s]>=2, <3 # required for mteb test
|
||||||
|
transformers==4.57.5
|
||||||
|
tokenizers==0.22.0
|
||||||
|
schemathesis>=3.39.15 # Required for openai schema test
|
||||||
|
# quantization
|
||||||
|
bitsandbytes==0.49.2
|
||||||
|
buildkite-test-collector==0.1.9
|
||||||
|
|
||||||
|
genai_perf>=0.0.8
|
||||||
|
tritonclient>=2.51.0
|
||||||
|
|
||||||
|
# The version of gRPC libraries should be consistent with each other
|
||||||
|
grpcio==1.78.0
|
||||||
|
grpcio-reflection==1.78.0
|
||||||
|
|
||||||
|
arctic-inference==0.1.1 # Required for suffix decoding test
|
||||||
|
numba==0.61.2 # Required for N-gram speculative decoding
|
||||||
|
numpy
|
||||||
|
runai-model-streamer[s3,gcs,azure]==0.15.7
|
||||||
|
fastsafetensors>=0.2.2 # 0.2.2 contains important fixes for multi-GPU mem usage
|
||||||
|
instanttensor>=0.1.5
|
||||||
|
pydantic>=2.12 # 2.11 leads to error on python 3.13
|
||||||
|
decord==0.6.0
|
||||||
|
|
||||||
|
# Prithvi tests
|
||||||
|
terratorch>=1.2.2
|
||||||
|
imagehash # Required for Prithvi tests
|
||||||
|
segmentation-models-pytorch>0.4.0 # Required for Prithvi tests
|
||||||
|
|
||||||
|
gpt-oss>=0.0.7; python_version > '3.11'
|
||||||
|
|
||||||
|
perceptron # required for isaac test
|
||||||
|
kaldi-native-fbank>=1.18.7 # required for fireredasr2 test
|
||||||
|
|
||||||
|
# Newer versions of datasets require torchcoded, that makes the tests fail in CI because of a missing library.
|
||||||
|
# Older versions are in conflict with terratorch requirements.
|
||||||
|
datasets>=3.3.0,<=3.6.0
|
||||||
|
|
||||||
|
openpyxl # required for perf comparison excel report
|
||||||
|
plotly # required for perf comparison html report
|
||||||
|
|
||||||
|
# ROCm-specific extras (not in CUDA test.in)
|
||||||
|
rapidfuzz
|
||||||
|
torchgeo==0.7.0
|
||||||
|
multiprocess==0.70.16
|
||||||
|
huggingface-hub==0.36.2
|
||||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user