-
-
Notifications
You must be signed in to change notification settings - Fork 12.2k
Closed
Closed
Copy link
Labels
Description
Describe the issue:
numpy/core/setup.py performs the following:
def can_link_svml():
"""SVML library is supported only on x86_64 architecture and currently
only on linux
"""
machine = platform.machine()
system = platform.system()
return "x86_64" in machine and system == "Linux"
This really does not work when compiling on x86_64 host for something entirely different, e.g. arm or risc-v, as it enables svml with subsequent build failure.
If this can't be easily auto-detected, there should be at least a command line switch to selectively enable/disable this.
Reproduce the code example:
This is a configuration/build issue.Error message:
Here's how the build fails:
numpy/core/src/umath/svml/linux/avx512/svml_z0_acos_d_la.s: Assembler messages:
numpy/core/src/umath/svml/linux/avx512/svml_z0_acos_d_la.s:19: Error: bad instruction `pushq %rbp'
numpy/core/src/umath/svml/linux/avx512/svml_z0_acos_d_la.s:21: Error: bad instruction `movq %rsp,%rbp'
numpy/core/src/umath/svml/linux/avx512/svml_z0_acos_d_la.s:24: Error: bad instruction `andq $-64,%rsp'
numpy/core/src/umath/svml/linux/avx512/svml_z0_acos_d_la.s:25: Error: bad instruction `subq $192,%rsp'
numpy/core/src/umath/svml/linux/avx512/svml_z0_acos_d_la.s:26: Error: bad instruction `vmovups __svml_dacos_data_internal(%rip),%zmm7'
numpy/core/src/umath/svml/linux/avx512/svml_z0_acos_d_la.s:27: Error: bad instruction `vmovups 64+__svml_dacos_data_internal(%rip),%zmm8'
numpy/core/src/umath/svml/linux/avx512/svml_z0_acos_d_la.s:30: Error: bad instruction `vmovups 128+__svml_dacos_data_internal(%rip),%zmm11'
numpy/core/src/umath/svml/linux/avx512/svml_z0_acos_d_la.s:31: Error: bad instruction `vmovups 384+__svml_dacos_data_internal(%rip),%zmm14'
numpy/core/src/umath/svml/linux/avx512/svml_z0_acos_d_la.s:32: Error: bad instruction `vmovups 448+__svml_dacos_data_internal(%rip),%zmm15'
numpy/core/src/umath/svml/linux/avx512/svml_z0_acos_d_la.s:33: Error: bad instruction `vmovups 512+__svml_dacos_data_internal(%rip),%zmm2'
numpy/core/src/umath/svml/linux/avx512/svml_z0_acos_d_la.s:34: Error: bad instruction `vmovups 576+__svml_dacos_data_internal(%rip),%zmm1'
numpy/core/src/umath/svml/linux/avx512/svml_z0_acos_d_la.s:35: Error: bad instruction `vmovups 256+__svml_dacos_data_internal(%rip),%zmm10'
numpy/core/src/umath/svml/linux/avx512/svml_z0_acos_d_la.s:36: Error: bad instruction `vmovaps %zmm0,%zmm6'and so on.
### NumPy/Python version information:
This appeared in 1.22.0 with introduction of svml.
Reactions are currently unavailable