pypa / manylinux

Python wheels that work on any linux (almost)
MIT License
1.42k stars 217 forks source link

Manylinux2014 avx512 support. #1577

Closed alexanderchang1 closed 5 months ago

alexanderchang1 commented 6 months ago

Hi,

Manylinux2014 reaches EOL in June, however there are certain packages for machine learning that are using avx512 which I believe isn't supported by the current manylinux2014 docker images. Is there a way to incorporate or update the images as an interim solution till June? I use an institutional cluster that currently can't run/install the manylinux_2_28 images.

Example error:

× Building wheel for simsimd (pyproject.toml) did not run successfully. │ exit code: 1 ╰─> [229 lines of output] running bdist_wheel running build running build_ext building 'simsimd' extension creating build creating build/temp.linux-x86_64-cpython-38 creating build/temp.linux-x86_64-cpython-38/python gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -Iinclude -I/tmp/pip-build-env-6xa9mw9d/overlay/lib/python3.8/site-packages/numpy/core/include -I/opt/_internal/cpython-3.8.18/include/python3.8 -c python/lib.c -o build/temp.linux-x86_64-cpython-38/python/lib.o -std=c11 -O3 -ffast-math -fdiagnostics-color=always -w -fopenmp In file included from include/simsimd/binary.h:23, from include/simsimd/simsimd.h:21, from python/lib.c:30: include/simsimd/types.h:121:9: error: ‘_Float16’ is not supported on this target 121 | typedef _Float16 simsimd_f16_t; | ^~~~~~~~ In file included from include/simsimd/simsimd.h:21, from python/lib.c:30: include/simsimd/binary.h: In function ‘simsimd_avx512_b8_hamming’: include/simsimd/binary.h:150:17: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’ 150 | a_vec = _mm512_loadu_epi8(a);

mayeut commented 5 months ago

You can try installing devtoolset-11 instead of devtoolset-10 to check if it fixes your build. The image in this repo won't be updated to use that devtoolset though (c.f. #1266)