# Common dependencies
-r common.txt

numba == 0.61.2; platform_machine != "s390x" # Required for N-gram speculative decoding

# Dependencies for CPUs
--extra-index-url https://download.pytorch.org/whl/cpu
torch==2.9.1+cpu; platform_machine == "x86_64" or platform_machine == "s390x"
torch==2.9.1; platform_system == "Darwin" or platform_machine == "ppc64le" or platform_machine == "aarch64"

# required for the image processor of minicpm-o-2_6, this must be updated alongside torch
torchaudio; platform_machine != "s390x"

# required for the image processor of phi3v, this must be updated alongside torch
torchvision; platform_machine != "s390x"

# Intel Extension for PyTorch, only for x86_64 CPUs
intel-openmp==2024.2.1; platform_machine == "x86_64"

# Use this to gather CPU info and optimize based on ARM Neoverse cores
py-cpuinfo; platform_machine == "aarch64"
