-
Epic
-
Resolution: Done
-
Critical
-
None
-
None
-
Build Torch and other packages with NumPy 2.x
-
False
-
-
False
-
Done
-
0% To Do, 0% In Progress, 100% Done
-
Proposed
We are patching some packages to force "numpy<2.0" at build time. This version cap is now causing problems. Packages like Torch do not work when they are compiled with NumPy 1.x but the environment has NumPy 2.x. The other way is supported, though.
Pinning to "numpy <2.0" globally does not work, because "numba >= 0.60" requires "numpy >= 2.0" to build. "numba < 0.60" requires an older "llvmlite" to build, which in return requires LLVM 14. Our builder image now has LLVM 15. We need to rebuild Torch and other packages with NumPy 2.x.
I think RHELAI is getting lucky, because we also patch xformers to have an installation requirement on "numpy < 2.0".
A module that was compiled using NumPy 1.x cannot be run in NumPy 2.2.5 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "/opt/app-root/bin/vllm", line 5, in <module> from vllm.entrypoints.cli.main import main File "/opt/app-root/lib64/python3.11/site-packages/vllm/__init__.py", line 10, in <module> import vllm.env_override # isort:skip # noqa: F401 File "/opt/app-root/lib64/python3.11/site-packages/vllm/env_override.py", line 4, in <module> import torch File "/opt/app-root/lib64/python3.11/site-packages/torch/__init__.py", line 2222, in <module> from torch import quantization as quantization # usort: skip File "/opt/app-root/lib64/python3.11/site-packages/torch/quantization/__init__.py", line 2, in <module> from .fake_quantize import * # noqa: F403 File "/opt/app-root/lib64/python3.11/site-packages/torch/quantization/fake_quantize.py", line 10, in <module> from torch.ao.quantization.fake_quantize import ( File "/opt/app-root/lib64/python3.11/site-packages/torch/ao/quantization/__init__.py", line 12, in <module> from .pt2e._numeric_debugger import ( # noqa: F401 File "/opt/app-root/lib64/python3.11/site-packages/torch/ao/quantization/pt2e/_numeric_debugger.py", line 9, in <module> from torch.export import ExportedProgram File "/opt/app-root/lib64/python3.11/site-packages/torch/export/__init__.py", line 68, in <module> from .decomp_utils import CustomDecompTable File "/opt/app-root/lib64/python3.11/site-packages/torch/export/decomp_utils.py", line 5, in <module> from torch._export.utils import ( File "/opt/app-root/lib64/python3.11/site-packages/torch/_export/__init__.py", line 48, in <module> from .wrappers import _wrap_submodules File "/opt/app-root/lib64/python3.11/site-packages/torch/_export/wrappers.py", line 7, in <module> from torch._higher_order_ops.strict_mode import strict_mode File "/opt/app-root/lib64/python3.11/site-packages/torch/_higher_order_ops/__init__.py", line 1, in <module> from torch._higher_order_ops.cond import cond File "/opt/app-root/lib64/python3.11/site-packages/torch/_higher_order_ops/cond.py", line 9, in <module> import torch._subclasses.functional_tensor File "/opt/app-root/lib64/python3.11/site-packages/torch/_subclasses/functional_tensor.py", line 45, in <module> class FunctionalTensor(torch.Tensor): File "/opt/app-root/lib64/python3.11/site-packages/torch/_subclasses/functional_tensor.py", line 275, in FunctionalTensor cpu = _conversion_method_template(device=torch.device("cpu")) /opt/app-root/lib64/python3.11/site-packages/torch/_subclasses/functional_tensor.py:275: UserWarning: Failed to initialize NumPy: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.2.5 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2.
- is related to
-
RHELAI-4009 Support NumPy 2.2.5+
-
- New
-