Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error while pip install simsimd: Building wheel for simsimd (pyproject.toml) ... error #221

Closed
Fitzgera1d opened this issue Nov 1, 2024 · 17 comments
Labels
bug Something isn't working

Comments

@Fitzgera1d
Copy link

Fitzgera1d commented Nov 1, 2024

Describe the bug

When I try to install simsimd into my python 3.10.15(also 3.12.4, 3.12.7 tried), An error occurred.

Detail of Error Output ```sh > pip install simsimd Collecting simsimd Using cached simsimd-5.9.9.tar.gz (152 kB) Installing build dependencies ... done Getting requirements to build wheel ... done Preparing metadata (pyproject.toml) ... done Building wheels for collected packages: simsimd Building wheel for simsimd (pyproject.toml) ... error error: subprocess-exited-with-error

× Building wheel for simsimd (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [782 lines of output]
running bdist_wheel
running build
running build_py
running egg_info
writing simsimd.egg-info/PKG-INFO
writing dependency_links to simsimd.egg-info/dependency_links.txt
writing top-level names to simsimd.egg-info/top_level.txt
reading manifest file 'simsimd.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'simsimd.egg-info/SOURCES.txt'
creating build/lib.linux-x86_64-cpython-310/simsimd
copying python/annotations/init.pyi -> build/lib.linux-x86_64-cpython-310/simsimd
copying python/annotations/py.typed -> build/lib.linux-x86_64-cpython-310/simsimd
running build_ext
building 'simsimd' extension
creating build/temp.linux-x86_64-cpython-310/c
creating build/temp.linux-x86_64-cpython-310/python
gcc -pthread -B $HOME/miniconda3/envs/sam/compiler_compat -Wno-unused-result -Wsign-compare -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem $HOME/miniconda3/envs/sam/include -fPIC -O2 -isystem $HOME/miniconda3/envs/sam/include -fPIC -DSIMSIMD_NATIVE_F16=0 -DSIMSIMD_NATIVE_BF16=0 -DSIMSIMD_DYNAMIC_DISPATCH=1 -DSIMSIMD_TARGET_NEON=1 -DSIMSIMD_TARGET_NEON_F16=1 -DSIMSIMD_TARGET_NEON_BF16=1 -DSIMSIMD_TARGET_SVE=1 -DSIMSIMD_TARGET_SVE_F16=1 -DSIMSIMD_TARGET_SVE_BF16=1 -DSIMSIMD_TARGET_SVE2=1 -DSIMSIMD_TARGET_HASWELL=1 -DSIMSIMD_TARGET_SKYLAKE=1 -DSIMSIMD_TARGET_ICE=1 -DSIMSIMD_TARGET_GENOA=1 -DSIMSIMD_TARGET_SAPPHIRE=1 -DSIMSIMD_TARGET_TURIN=1 -DSIMSIMD_TARGET_SIERRA=0 -Iinclude -I$HOME/miniconda3/envs/sam/include/python3.10 -c c/lib.c -o build/temp.linux-x86_64-cpython-310/c/lib.o -std=c11 -O3 -ffast-math -fdiagnostics-color=always -fvisibility=default -fPIC -w -fopenmp
In file included from include/simsimd/simsimd.h:105,
from c/lib.c:48:
include/simsimd/binary.h: In function ‘simsimd_hamming_b8_ice’:
include/simsimd/binary.h:256:26: error: incompatible types when initializing type ‘__m512i’ {aka ‘__vector(8) long long int’} using type ‘int’
256 | __m512i a1_vec = _mm512_loadu_epi8(a);
| ^~~~~~~~~~~~~~~~~
include/simsimd/binary.h:257:26: error: incompatible types when initializing type ‘__m512i’ {aka ‘__vector(8) long long int’} using type ‘int’
257 | __m512i b1_vec = _mm512_loadu_epi8(b);
| ^~~~~~~~~~~~~~~~~
include/simsimd/binary.h:266:26: error: incompatible types when initializing type ‘__m512i’ {aka ‘__vector(8) long long int’} using type ‘int’
266 | __m512i a1_vec = _mm512_loadu_epi8(a);
| ^~~~~~~~~~~~~~~~~
include/simsimd/binary.h:267:26: error: incompatible types when initializing type ‘__m512i’ {aka ‘__vector(8) long long int’} using type ‘int’
267 | __m512i b1_vec = _mm512_loadu_epi8(b);
| ^~~~~~~~~~~~~~~~~
include/simsimd/binary.h:268:26: error: incompatible types when initializing type ‘__m512i’ {aka ‘__vector(8) long long int’} using type ‘int’
268 | __m512i a2_vec = _mm512_loadu_epi8(a + 64);
| ^~~~~~~~~~~~~~~~~
include/simsimd/binary.h:269:26: error: incompatible types when initializing type ‘__m512i’ {aka ‘__vector(8) long long int’} using type ‘int’
269 | __m512i b2_vec = _mm512_loadu_epi8(b + 64);
| ^~~~~~~~~~~~~~~~~
include/simsimd/binary.h:280:26: error: incompatible types when initializing type ‘__m512i’ {aka ‘__vector(8) long long int’} using type ‘int’
280 | __m512i a1_vec = _mm512_loadu_epi8(a);
| ^~~~~~~~~~~~~~~~~
include/simsimd/binary.h:281:26: error: incompatible types when initializing type ‘__m512i’ {aka ‘__vector(8) long long int’} using type ‘int’
281 | __m512i b1_vec = _mm512_loadu_epi8(b);
| ^~~~~~~~~~~~~~~~~
include/simsimd/binary.h:282:26: error: incompatible types when initializing type ‘__m512i’ {aka ‘__vector(8) long long int’} using type ‘int’
282 | __m512i a2_vec = _mm512_loadu_epi8(a + 64);
| ^~~~~~~~~~~~~~~~~
include/simsimd/binary.h:283:26: error: incompatible types when initializing type ‘__m512i’ {aka ‘__vector(8) long long int’} using type ‘int’
283 | __m512i b2_vec = _mm512_loadu_epi8(b + 64);
| ^~~~~~~~~~~~~~~~~
include/simsimd/binary.h:284:26: error: incompatible types when initializing type ‘__m512i’ {aka ‘__vector(8) long long int’} using type ‘int’
284 | __m512i a3_vec = _mm512_loadu_epi8(a + 128);
| ^~~~~~~~~~~~~~~~~
include/simsimd/binary.h:285:26: error: incompatible types when initializing type ‘__m512i’ {aka ‘__vector(8) long long int’} using type ‘int’
285 | __m512i b3_vec = _mm512_loadu_epi8(b + 128);
| ^~~~~~~~~~~~~~~~~
include/simsimd/binary.h:307:21: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
307 | a_vec = _mm512_loadu_epi8(a);
| ^~~~~~~~~~~~~~~~~
include/simsimd/binary.h:308:21: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
308 | b_vec = _mm512_loadu_epi8(b);
| ^~~~~~~~~~~~~~~~~
include/simsimd/binary.h: In function ‘simsimd_jaccard_b8_ice’:
include/simsimd/binary.h:349:26: error: incompatible types when initializing type ‘__m512i’ {aka ‘__vector(8) long long int’} using type ‘int’
349 | __m512i a1_vec = _mm512_loadu_epi8(a);
| ^~~~~~~~~~~~~~~~~
include/simsimd/binary.h:350:26: error: incompatible types when initializing type ‘__m512i’ {aka ‘__vector(8) long long int’} using type ‘int’
350 | __m512i b1_vec = _mm512_loadu_epi8(b);
| ^~~~~~~~~~~~~~~~~
include/simsimd/binary.h:362:26: error: incompatible types when initializing type ‘__m512i’ {aka ‘__vector(8) long long int’} using type ‘int’
362 | __m512i a1_vec = _mm512_loadu_epi8(a);
| ^~~~~~~~~~~~~~~~~
include/simsimd/binary.h:363:26: error: incompatible types when initializing type ‘__m512i’ {aka ‘__vector(8) long long int’} using type ‘int’
363 | __m512i b1_vec = _mm512_loadu_epi8(b);
| ^~~~~~~~~~~~~~~~~
include/simsimd/binary.h:364:26: error: incompatible types when initializing type ‘__m512i’ {aka ‘__vector(8) long long int’} using type ‘int’
364 | __m512i a2_vec = _mm512_loadu_epi8(a + 64);
| ^~~~~~~~~~~~~~~~~
include/simsimd/binary.h:365:26: error: incompatible types when initializing type ‘__m512i’ {aka ‘__vector(8) long long int’} using type ‘int’
365 | __m512i b2_vec = _mm512_loadu_epi8(b + 64);
| ^~~~~~~~~~~~~~~~~
include/simsimd/binary.h:381:26: error: incompatible types when initializing type ‘__m512i’ {aka ‘__vector(8) long long int’} using type ‘int’
381 | __m512i a1_vec = _mm512_loadu_epi8(a);
| ^~~~~~~~~~~~~~~~~
include/simsimd/binary.h:382:26: error: incompatible types when initializing type ‘__m512i’ {aka ‘__vector(8) long long int’} using type ‘int’
382 | __m512i b1_vec = _mm512_loadu_epi8(b);
| ^~~~~~~~~~~~~~~~~
include/simsimd/binary.h:383:26: error: incompatible types when initializing type ‘__m512i’ {aka ‘__vector(8) long long int’} using type ‘int’
383 | __m512i a2_vec = _mm512_loadu_epi8(a + 64);
| ^~~~~~~~~~~~~~~~~
include/simsimd/binary.h:384:26: error: incompatible types when initializing type ‘__m512i’ {aka ‘__vector(8) long long int’} using type ‘int’
384 | __m512i b2_vec = _mm512_loadu_epi8(b + 64);
| ^~~~~~~~~~~~~~~~~
include/simsimd/binary.h:385:26: error: incompatible types when initializing type ‘__m512i’ {aka ‘__vector(8) long long int’} using type ‘int’
385 | __m512i a3_vec = _mm512_loadu_epi8(a + 128);
| ^~~~~~~~~~~~~~~~~
include/simsimd/binary.h:386:26: error: incompatible types when initializing type ‘__m512i’ {aka ‘__vector(8) long long int’} using type ‘int’
386 | __m512i b3_vec = _mm512_loadu_epi8(b + 128);
| ^~~~~~~~~~~~~~~~~
include/simsimd/binary.h:414:21: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
414 | a_vec = _mm512_loadu_epi8(a);
| ^~~~~~~~~~~~~~~~~
include/simsimd/binary.h:415:21: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
415 | b_vec = _mm512_loadu_epi8(b);
| ^~~~~~~~~~~~~~~~~
In file included from include/simsimd/curved.h:28,
from include/simsimd/simsimd.h:106,
from c/lib.c:48:
include/simsimd/dot.h: In function ‘simsimd_dot_bf16_genoa’:
include/simsimd/dot.h:1528:21: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1528 | a_i16_vec = _mm512_loadu_epi16(a);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/dot.h:1529:21: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1529 | b_i16_vec = _mm512_loadu_epi16(b);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/dot.h: In function ‘simsimd_dot_bf16c_genoa’:
include/simsimd/dot.h:1566:17: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1566 | a_vec = _mm512_loadu_epi16(a);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/dot.h:1567:17: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1567 | b_vec = _mm512_loadu_epi16(b);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/dot.h: In function ‘simsimd_vdot_bf16c_genoa’:
include/simsimd/dot.h:1608:17: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1608 | a_vec = _mm512_loadu_epi16(a);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/dot.h:1609:17: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1609 | b_vec = _mm512_loadu_epi16(b);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/dot.h: At top level:
cc1: error: attribute ‘avx512fp16’ argument ‘target’ is unknown
include/simsimd/dot.h: In function ‘simsimd_dot_f16_sapphire’:
include/simsimd/dot.h:1635:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1635 | __m512h ab_vec = _mm512_setzero_ph();
| ^~~~~~~
| __m512bh
include/simsimd/dot.h:1646:21: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1646 | a_i16_vec = _mm512_loadu_epi16(a);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/dot.h:1647:21: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1647 | b_i16_vec = _mm512_loadu_epi16(b);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/dot.h: In function ‘simsimd_dot_f16c_sapphire’:
include/simsimd/dot.h:1658:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1658 | __m512h ab_real_vec = _mm512_setzero_ph();
| ^~~~~~~
| __m512bh
include/simsimd/dot.h:1659:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1659 | __m512h ab_imag_vec = _mm512_setzero_ph();
| ^~~~~~~
| __m512bh
include/simsimd/dot.h:1684:17: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1684 | a_vec = _mm512_loadu_epi16(a);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/dot.h:1685:17: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1685 | b_vec = _mm512_loadu_epi16(b);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/dot.h: In function ‘simsimd_vdot_f16c_sapphire’:
include/simsimd/dot.h:1703:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1703 | __m512h ab_real_vec = _mm512_setzero_ph();
| ^~~~~~~
| __m512bh
include/simsimd/dot.h:1704:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1704 | __m512h ab_imag_vec = _mm512_setzero_ph();
| ^~~~~~~
| __m512bh
include/simsimd/dot.h:1729:17: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1729 | a_vec = _mm512_loadu_epi16(a);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/dot.h:1730:17: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1730 | b_vec = _mm512_loadu_epi16(b);
| ^~~~~~~~~~~~~~~~~~
In file included from include/simsimd/curved.h:29,
from include/simsimd/simsimd.h:106,
from c/lib.c:48:
include/simsimd/spatial.h: In function ‘simsimd_l2sq_bf16_genoa’:
include/simsimd/spatial.h:1746:21: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1746 | a_i16_vec = _mm512_loadu_epi16(a);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/spatial.h:1747:21: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1747 | b_i16_vec = _mm512_loadu_epi16(b);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/spatial.h: In function ‘simsimd_cos_bf16_genoa’:
include/simsimd/spatial.h:1772:21: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1772 | a_i16_vec = _mm512_loadu_epi16(a);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/spatial.h:1773:21: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1773 | b_i16_vec = _mm512_loadu_epi16(b);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/spatial.h: At top level:
cc1: error: attribute ‘avx512fp16’ argument ‘target’ is unknown
include/simsimd/spatial.h: In function ‘simsimd_l2sq_f16_sapphire’:
include/simsimd/spatial.h:1803:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1803 | __m512h d2_vec = _mm512_setzero_ph();
| ^~~~~~~
| __m512bh
include/simsimd/spatial.h:1814:21: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1814 | a_i16_vec = _mm512_loadu_epi16(a);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/spatial.h:1815:21: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1815 | b_i16_vec = _mm512_loadu_epi16(b);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/spatial.h:1818:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1818 | __m512h d_vec = _mm512_sub_ph(_mm512_castsi512_ph(a_i16_vec), _mm512_castsi512_ph(b_i16_vec));
| ^~~~~~~
| __m512bh
include/simsimd/spatial.h: In function ‘simsimd_cos_f16_sapphire’:
include/simsimd/spatial.h:1827:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1827 | __m512h ab_vec = _mm512_setzero_ph();
| ^~~~~~~
| __m512bh
include/simsimd/spatial.h:1828:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1828 | __m512h a2_vec = _mm512_setzero_ph();
| ^~~~~~~
| __m512bh
include/simsimd/spatial.h:1829:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1829 | __m512h b2_vec = _mm512_setzero_ph();
| ^~~~~~~
| __m512bh
include/simsimd/spatial.h:1840:21: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1840 | a_i16_vec = _mm512_loadu_epi16(a);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/spatial.h:1841:21: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1841 | b_i16_vec = _mm512_loadu_epi16(b);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/spatial.h: In function ‘simsimd_l2sq_i4x2_ice’:
include/simsimd/spatial.h:2094:22: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
2094 | a_i4x2_vec = _mm512_loadu_epi8(a);
| ^~~~~~~~~~~~~~~~~
include/simsimd/spatial.h:2095:22: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
2095 | b_i4x2_vec = _mm512_loadu_epi8(b);
| ^~~~~~~~~~~~~~~~~
include/simsimd/spatial.h: In function ‘simsimd_cos_i4x2_ice’:
include/simsimd/spatial.h:2208:22: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
2208 | a_i4x2_vec = _mm512_loadu_epi8(a);
| ^~~~~~~~~~~~~~~~~
include/simsimd/spatial.h:2209:22: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
2209 | b_i4x2_vec = _mm512_loadu_epi8(b);
| ^~~~~~~~~~~~~~~~~
In file included from include/simsimd/simsimd.h:106,
from c/lib.c:48:
include/simsimd/curved.h: In function ‘simsimd_bilinear_bf16_genoa’:
include/simsimd/curved.h:661:21: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
661 | b_vec = _mm512_loadu_epi16(b + j);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/curved.h:662:21: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
662 | c_vec = _mm512_loadu_epi16(c + i * n + j);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/curved.h: In function ‘simsimd_mahalanobis_bf16_genoa’:
include/simsimd/curved.h:694:23: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
694 | a_j_vec = _mm512_loadu_epi16(a + j);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/curved.h:695:23: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
695 | b_j_vec = _mm512_loadu_epi16(b + j);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/curved.h:696:21: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
696 | c_vec = _mm512_loadu_epi16(c + i * n + j);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/curved.h: At top level:
cc1: error: attribute ‘avx512fp16’ argument ‘target’ is unknown
include/simsimd/curved.h: In function ‘simsimd_bilinear_f16_sapphire’:
include/simsimd/curved.h:728:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
728 | __m512h sum_vec = _mm512_setzero_ph();
| ^~~~~~~
| __m512bh
include/simsimd/curved.h:732:9: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
732 | __m512h a_vec = _mm512_castsi512_ph(_mm512_set1_epi16((short const )(a + i)));
| ^~~~~~~
| __m512bh
include/simsimd/curved.h:733:9: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
733 | __m512h partial_sum_vec = _mm512_setzero_ph();
| ^~~~~~~
| __m512bh
include/simsimd/curved.h:739:21: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
739 | b_vec = _mm512_loadu_epi16(b + j);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/curved.h:740:21: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
740 | c_vec = _mm512_loadu_epi16(c + i * n + j);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/curved.h: In function ‘simsimd_mahalanobis_f16_sapphire’:
include/simsimd/curved.h:760:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
760 | __m512h sum_vec = _mm512_setzero_ph();
| ^~~~~~~
| __m512bh
include/simsimd/curved.h:764:9: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
764 | __m512h a_i_vec = _mm512_castsi512_ph(_mm512_set1_epi16(
(short const )(a + i)));
| ^~~~~~~
| __m512bh
include/simsimd/curved.h:765:9: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
765 | __m512h b_i_vec = _mm512_castsi512_ph(_mm512_set1_epi16(
(short const )(b + i)));
| ^~~~~~~
| __m512bh
include/simsimd/curved.h:766:9: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
766 | __m512h diff_i_vec = _mm512_sub_ph(a_i_vec, b_i_vec);
| ^~~~~~~
| __m512bh
include/simsimd/curved.h:767:9: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
767 | __m512h partial_sum_vec = _mm512_setzero_ph();
| ^~~~~~~
| __m512bh
include/simsimd/curved.h:768:9: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
768 | __m512h diff_j_vec;
| ^~~~~~~
| __m512bh
include/simsimd/curved.h:775:23: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
775 | a_j_vec = _mm512_loadu_epi16(a + j);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/curved.h:776:23: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
776 | b_j_vec = _mm512_loadu_epi16(b + j);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/curved.h:777:21: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
777 | c_vec = _mm512_loadu_epi16(c + i * n + j);
| ^~~~~~~~~~~~~~~~~~
In file included from include/simsimd/simsimd.h:108,
from c/lib.c:48:
include/simsimd/elementwise.h: In function ‘simsimd_sum_bf16_skylake’:
include/simsimd/elementwise.h:1287:22: error: incompatible types when assigning to type ‘__m256i’ from type ‘int’
1287 | a_bf16_vec = _mm256_loadu_epi16(a);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/elementwise.h:1288:22: error: incompatible types when assigning to type ‘__m256i’ from type ‘int’
1288 | b_bf16_vec = _mm256_loadu_epi16(b);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/elementwise.h: In function ‘simsimd_scale_bf16_skylake’:
include/simsimd/elementwise.h:1313:22: error: incompatible types when assigning to type ‘__m256i’ from type ‘int’
1313 | a_bf16_vec = _mm256_loadu_epi16(a);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/elementwise.h: In function ‘simsimd_wsum_bf16_skylake’:
include/simsimd/elementwise.h:1357:22: error: incompatible types when assigning to type ‘__m256i’ from type ‘int’
1357 | a_bf16_vec = _mm256_loadu_epi16(a);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/elementwise.h:1358:22: error: incompatible types when assigning to type ‘__m256i’ from type ‘int’
1358 | b_bf16_vec = _mm256_loadu_epi16(b);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/elementwise.h: In function ‘simsimd_fma_bf16_skylake’:
include/simsimd/elementwise.h:1449:22: error: incompatible types when assigning to type ‘__m256i’ from type ‘int’
1449 | a_bf16_vec = _mm256_loadu_epi16(a);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/elementwise.h:1450:22: error: incompatible types when assigning to type ‘__m256i’ from type ‘int’
1450 | b_bf16_vec = _mm256_loadu_epi16(b);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/elementwise.h:1451:22: error: incompatible types when assigning to type ‘__m256i’ from type ‘int’
1451 | c_bf16_vec = _mm256_loadu_epi16(c);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/elementwise.h: At top level:
cc1: error: attribute ‘avx512fp16’ argument ‘target’ is unknown
include/simsimd/elementwise.h: In function ‘simsimd_sum_f16_sapphire’:
include/simsimd/elementwise.h:1479:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1479 | __m512h a_f16_vec, b_f16_vec;
| ^~~~~~~
| __m512bh
include/simsimd/elementwise.h:1480:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1480 | __m512h sum_f16_vec;
| ^~~~~~~
| __m512bh
include/simsimd/elementwise.h:1494:44: error: incompatible type for argument 3 of ‘_mm512_mask_storeu_epi16’
1494 | _mm512_mask_storeu_epi16(result, mask, _mm512_castph_si512(sum_f16_vec));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| int
In file included from $GCC_PATH/lib/gcc/x86_64-pc-linux-gnu/10.5.0/include/immintrin.h:65,
from include/simsimd/types.h:240,
from include/simsimd/binary.h:21,
from include/simsimd/simsimd.h:105,
from c/lib.c:48:
$GCC_PATH/lib/gcc/x86_64-pc-linux-gnu/10.5.0/include/avx512bwintrin.h:325:61: note: expected ‘__m512i’ {aka ‘__vector(8) long long int’} but argument is of type ‘int’
325 | _mm512_mask_storeu_epi16 (void __P, __mmask32 __U, __m512i __A)
| ~~~~~~~~^~~
In file included from include/simsimd/simsimd.h:108,
from c/lib.c:48:
include/simsimd/elementwise.h: In function ‘simsimd_scale_f16_sapphire’:
include/simsimd/elementwise.h:1503:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1503 | __m512h alpha_vec = _mm512_set1_ph((_Float16)alpha);
| ^~~~~~~
| __m512bh
include/simsimd/elementwise.h:1503:41: error: ‘_Float16’ is not supported on this target
1503 | __m512h alpha_vec = _mm512_set1_ph((_Float16)alpha);
| ^~~~~~~~
include/simsimd/elementwise.h:1504:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1504 | __m512h a_f16_vec, b_f16_vec;
| ^~~~~~~
| __m512bh
include/simsimd/elementwise.h:1505:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1505 | __m512h sum_f16_vec;
| ^~~~~~~
| __m512bh
include/simsimd/elementwise.h:1517:44: error: incompatible type for argument 3 of ‘_mm512_mask_storeu_epi16’
1517 | _mm512_mask_storeu_epi16(result, mask, _mm512_castph_si512(sum_f16_vec));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| int
In file included from $GCC_PATH/lib/gcc/x86_64-pc-linux-gnu/10.5.0/include/immintrin.h:65,
from include/simsimd/types.h:240,
from include/simsimd/binary.h:21,
from include/simsimd/simsimd.h:105,
from c/lib.c:48:
$GCC_PATH/lib/gcc/x86_64-pc-linux-gnu/10.5.0/include/avx512bwintrin.h:325:61: note: expected ‘__m512i’ {aka ‘__vector(8) long long int’} but argument is of type ‘int’
325 | _mm512_mask_storeu_epi16 (void __P, __mmask32 __U, __m512i __A)
| ~~~~~~~~^~~
In file included from include/simsimd/simsimd.h:108,
from c/lib.c:48:
include/simsimd/elementwise.h: In function ‘simsimd_wsum_f16_sapphire’:
include/simsimd/elementwise.h:1543:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1543 | __m512h alpha_vec = _mm512_set1_ph((_Float16)alpha);
| ^~~~~~~
| __m512bh
include/simsimd/elementwise.h:1543:41: error: ‘_Float16’ is not supported on this target
1543 | __m512h alpha_vec = _mm512_set1_ph((_Float16)alpha);
| ^~~~~~~~
include/simsimd/elementwise.h:1544:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1544 | __m512h beta_vec = _mm512_set1_ph((_Float16)beta);
| ^~~~~~~
| __m512bh
include/simsimd/elementwise.h:1544:40: error: ‘_Float16’ is not supported on this target
1544 | __m512h beta_vec = _mm512_set1_ph((_Float16)beta);
| ^~~~~~~~
include/simsimd/elementwise.h:1545:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1545 | __m512h a_f16_vec, b_f16_vec;
| ^~~~~~~
| __m512bh
include/simsimd/elementwise.h:1546:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1546 | __m512h a_scaled_f16_vec, sum_f16_vec;
| ^~~~~~~
| __m512bh
include/simsimd/elementwise.h:1561:44: error: incompatible type for argument 3 of ‘_mm512_mask_storeu_epi16’
1561 | _mm512_mask_storeu_epi16(result, mask, _mm512_castph_si512(sum_f16_vec));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| int
In file included from $GCC_PATH/lib/gcc/x86_64-pc-linux-gnu/10.5.0/include/immintrin.h:65,
from include/simsimd/types.h:240,
from include/simsimd/binary.h:21,
from include/simsimd/simsimd.h:105,
from c/lib.c:48:
$GCC_PATH/lib/gcc/x86_64-pc-linux-gnu/10.5.0/include/avx512bwintrin.h:325:61: note: expected ‘__m512i’ {aka ‘__vector(8) long long int’} but argument is of type ‘int’
325 | _mm512_mask_storeu_epi16 (void __P, __mmask32 __U, __m512i __A)
| ~~~~~~~~^~~
In file included from include/simsimd/simsimd.h:108,
from c/lib.c:48:
include/simsimd/elementwise.h: In function ‘simsimd_fma_f16_sapphire’:
include/simsimd/elementwise.h:1571:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1571 | __m512h alpha_vec = _mm512_set1_ph((_Float16)alpha);
| ^~~~~~~
| __m512bh
include/simsimd/elementwise.h:1571:41: error: ‘_Float16’ is not supported on this target
1571 | __m512h alpha_vec = _mm512_set1_ph((_Float16)alpha);
| ^~~~~~~~
include/simsimd/elementwise.h:1572:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1572 | __m512h beta_vec = _mm512_set1_ph((_Float16)beta);
| ^~~~~~~
| __m512bh
include/simsimd/elementwise.h:1572:40: error: ‘_Float16’ is not supported on this target
1572 | __m512h beta_vec = _mm512_set1_ph((_Float16)beta);
| ^~~~~~~~
include/simsimd/elementwise.h:1573:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1573 | __m512h a_f16_vec, b_f16_vec, c_f16_vec;
| ^~~~~~~
| __m512bh
include/simsimd/elementwise.h:1574:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1574 | __m512h ab_f16_vec, ab_scaled_f16_vec, sum_f16_vec;
| ^~~~~~~
| __m512bh
include/simsimd/elementwise.h:1592:44: error: incompatible type for argument 3 of ‘_mm512_mask_storeu_epi16’
1592 | _mm512_mask_storeu_epi16(result, mask, _mm512_castph_si512(sum_f16_vec));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| int
In file included from $GCC_PATH/lib/gcc/x86_64-pc-linux-gnu/10.5.0/include/immintrin.h:65,
from include/simsimd/types.h:240,
from include/simsimd/binary.h:21,
from include/simsimd/simsimd.h:105,
from c/lib.c:48:
$GCC_PATH/lib/gcc/x86_64-pc-linux-gnu/10.5.0/include/avx512bwintrin.h:325:61: note: expected ‘__m512i’ {aka ‘__vector(8) long long int’} but argument is of type ‘int’
325 | _mm512_mask_storeu_epi16 (void __P, __mmask32 __U, __m512i __A)
| ~~~~~~~~^~~
In file included from include/simsimd/simsimd.h:108,
from c/lib.c:48:
include/simsimd/elementwise.h: In function ‘simsimd_sum_u8_sapphire’:
include/simsimd/elementwise.h:1609:20: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1609 | a_u8_vec = _mm512_loadu_epi8(a);
| ^~~~~~~~~~~~~~~~~
include/simsimd/elementwise.h:1610:20: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1610 | b_u8_vec = _mm512_loadu_epi8(b);
| ^~~~~~~~~~~~~~~~~
include/simsimd/elementwise.h: In function ‘simsimd_scale_u8_sapphire’:
include/simsimd/elementwise.h:1622:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1622 | __m512h alpha_vec = _mm512_set1_ph((_Float16)alpha);
| ^~~~~~~
| __m512bh
include/simsimd/elementwise.h:1622:41: error: ‘_Float16’ is not supported on this target
1622 | __m512h alpha_vec = _mm512_set1_ph((_Float16)alpha);
| ^~~~~~~~
include/simsimd/elementwise.h:1624:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1624 | __m512h a_f16_low_vec, a_f16_high_vec;
| ^~~~~~~
| __m512bh
include/simsimd/elementwise.h:1625:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1625 | __m512h a_scaled_f16_low_vec, a_scaled_f16_high_vec, sum_f16_low_vec, sum_f16_high_vec;
| ^~~~~~~
| __m512bh
include/simsimd/elementwise.h:1634:20: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1634 | a_u8_vec = _mm512_loadu_epi8(a);
| ^~~~~~~~~~~~~~~~~
include/simsimd/elementwise.h:1644:23: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1644 | sum_i16_low_vec = _mm512_cvtph_epi16(sum_f16_low_vec);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/elementwise.h:1645:24: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1645 | sum_i16_high_vec = _mm512_cvtph_epi16(sum_f16_high_vec);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/elementwise.h: In function ‘simsimd_wsum_u8_sapphire’:
include/simsimd/elementwise.h:1673:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1673 | __m512h alpha_vec = _mm512_set1_ph((_Float16)alpha);
| ^~~~~~~
| __m512bh
include/simsimd/elementwise.h:1673:41: error: ‘_Float16’ is not supported on this target
1673 | __m512h alpha_vec = _mm512_set1_ph((_Float16)alpha);
| ^~~~~~~~
include/simsimd/elementwise.h:1674:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1674 | __m512h beta_vec = _mm512_set1_ph((_Float16)beta);
| ^~~~~~~
| __m512bh
include/simsimd/elementwise.h:1674:40: error: ‘_Float16’ is not supported on this target
1674 | __m512h beta_vec = _mm512_set1_ph((_Float16)beta);
| ^~~~~~~~
include/simsimd/elementwise.h:1676:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1676 | __m512h a_f16_low_vec, a_f16_high_vec, b_f16_low_vec, b_f16_high_vec;
| ^~~~~~~
| __m512bh
include/simsimd/elementwise.h:1677:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1677 | __m512h a_scaled_f16_low_vec, a_scaled_f16_high_vec, sum_f16_low_vec, sum_f16_high_vec;
| ^~~~~~~
| __m512bh
include/simsimd/elementwise.h:1687:20: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1687 | a_u8_vec = _mm512_loadu_epi8(a);
| ^~~~~~~~~~~~~~~~~
include/simsimd/elementwise.h:1688:20: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1688 | b_u8_vec = _mm512_loadu_epi8(b);
| ^~~~~~~~~~~~~~~~~
include/simsimd/elementwise.h:1703:23: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1703 | sum_i16_low_vec = _mm512_cvtph_epi16(sum_f16_low_vec);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/elementwise.h:1704:24: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1704 | sum_i16_high_vec = _mm512_cvtph_epi16(sum_f16_high_vec);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/elementwise.h: In function ‘simsimd_sum_i8_sapphire’:
include/simsimd/elementwise.h:1716:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1716 | __m512h a_f16_low_vec, a_f16_high_vec, b_f16_low_vec, b_f16_high_vec;
| ^~~~~~~
| __m512bh
include/simsimd/elementwise.h:1717:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1717 | __m512h a_scaled_f16_low_vec, a_scaled_f16_high_vec, sum_f16_low_vec, sum_f16_high_vec;
| ^~~~~~~
| __m512bh
include/simsimd/elementwise.h:1728:20: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1728 | a_i8_vec = _mm512_loadu_epi8(a);
| ^~~~~~~~~~~~~~~~~
include/simsimd/elementwise.h:1729:20: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1729 | b_i8_vec = _mm512_loadu_epi8(b);
| ^~~~~~~~~~~~~~~~~
include/simsimd/elementwise.h: In function ‘simsimd_scale_i8_sapphire’:
include/simsimd/elementwise.h:1742:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1742 | __m512h alpha_vec = _mm512_set1_ph((_Float16)alpha);
| ^~~~~~~
| __m512bh
include/simsimd/elementwise.h:1742:41: error: ‘_Float16’ is not supported on this target
1742 | __m512h alpha_vec = _mm512_set1_ph((_Float16)alpha);
| ^~~~~~~~
include/simsimd/elementwise.h:1744:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1744 | __m512h a_f16_low_vec, a_f16_high_vec;
| ^~~~~~~
| __m512bh
include/simsimd/elementwise.h:1745:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1745 | __m512h sum_f16_low_vec, sum_f16_high_vec;
| ^~~~~~~
| __m512bh
include/simsimd/elementwise.h:1754:20: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1754 | a_i8_vec = _mm512_loadu_epi8(a);
| ^~~~~~~~~~~~~~~~~
include/simsimd/elementwise.h:1764:23: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1764 | sum_i16_low_vec = _mm512_cvtph_epi16(sum_f16_low_vec);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/elementwise.h:1765:24: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1765 | sum_i16_high_vec = _mm512_cvtph_epi16(sum_f16_high_vec);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/elementwise.h: In function ‘simsimd_wsum_i8_sapphire’:
include/simsimd/elementwise.h:1794:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1794 | __m512h alpha_vec = _mm512_set1_ph((_Float16)alpha);
| ^~~~~~~
| __m512bh
include/simsimd/elementwise.h:1794:41: error: ‘_Float16’ is not supported on this target
1794 | __m512h alpha_vec = _mm512_set1_ph((_Float16)alpha);
| ^~~~~~~~
include/simsimd/elementwise.h:1795:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1795 | __m512h beta_vec = _mm512_set1_ph((_Float16)beta);
| ^~~~~~~
| __m512bh
include/simsimd/elementwise.h:1795:40: error: ‘_Float16’ is not supported on this target
1795 | __m512h beta_vec = _mm512_set1_ph((_Float16)beta);
| ^~~~~~~~
include/simsimd/elementwise.h:1797:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1797 | __m512h a_f16_low_vec, a_f16_high_vec, b_f16_low_vec, b_f16_high_vec;
| ^~~~~~~
| __m512bh
include/simsimd/elementwise.h:1798:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1798 | __m512h a_scaled_f16_low_vec, a_scaled_f16_high_vec, sum_f16_low_vec, sum_f16_high_vec;
| ^~~~~~~
| __m512bh
include/simsimd/elementwise.h:1809:20: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1809 | a_i8_vec = _mm512_loadu_epi8(a);
| ^~~~~~~~~~~~~~~~~
include/simsimd/elementwise.h:1810:20: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1810 | b_i8_vec = _mm512_loadu_epi8(b);
| ^~~~~~~~~~~~~~~~~
include/simsimd/elementwise.h:1825:23: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1825 | sum_i16_low_vec = _mm512_cvtph_epi16(sum_f16_low_vec);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/elementwise.h:1826:24: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1826 | sum_i16_high_vec = _mm512_cvtph_epi16(sum_f16_high_vec);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/elementwise.h: In function ‘simsimd_fma_i8_sapphire’:
include/simsimd/elementwise.h:1839:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1839 | __m512h alpha_vec = _mm512_set1_ph((_Float16)alpha);
| ^~~~~~~
| __m512bh
include/simsimd/elementwise.h:1839:41: error: ‘_Float16’ is not supported on this target
1839 | __m512h alpha_vec = _mm512_set1_ph((_Float16)alpha);
| ^~~~~~~~
include/simsimd/elementwise.h:1840:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1840 | __m512h beta_vec = _mm512_set1_ph((_Float16)beta);
| ^~~~~~~
| __m512bh
include/simsimd/elementwise.h:1840:40: error: ‘_Float16’ is not supported on this target
1840 | __m512h beta_vec = _mm512_set1_ph((_Float16)beta);
| ^~~~~~~~
include/simsimd/elementwise.h:1842:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1842 | __m512h a_f16_low_vec, a_f16_high_vec, b_f16_low_vec, b_f16_high_vec;
| ^~~~~~~
| __m512bh
include/simsimd/elementwise.h:1843:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1843 | __m512h c_f16_low_vec, c_f16_high_vec, ab_f16_low_vec, ab_f16_high_vec;
| ^~~~~~~
| __m512bh
include/simsimd/elementwise.h:1844:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1844 | __m512h ab_scaled_f16_low_vec, ab_scaled_f16_high_vec, sum_f16_low_vec, sum_f16_high_vec;
| ^~~~~~~
| __m512bh
include/simsimd/elementwise.h:1856:20: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1856 | a_i8_vec = _mm512_loadu_epi8(a);
| ^~~~~~~~~~~~~~~~~
include/simsimd/elementwise.h:1857:20: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1857 | b_i8_vec = _mm512_loadu_epi8(b);
| ^~~~~~~~~~~~~~~~~
include/simsimd/elementwise.h:1858:20: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1858 | c_i8_vec = _mm512_loadu_epi8(c);
| ^~~~~~~~~~~~~~~~~
include/simsimd/elementwise.h:1878:23: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1878 | sum_i16_low_vec = _mm512_cvtph_epi16(sum_f16_low_vec);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/elementwise.h:1879:24: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1879 | sum_i16_high_vec = _mm512_cvtph_epi16(sum_f16_high_vec);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/elementwise.h: In function ‘simsimd_fma_u8_sapphire’:
include/simsimd/elementwise.h:1892:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1892 | __m512h alpha_vec = _mm512_set1_ph((_Float16)alpha);
| ^~~~~~~
| __m512bh
include/simsimd/elementwise.h:1892:41: error: ‘_Float16’ is not supported on this target
1892 | __m512h alpha_vec = _mm512_set1_ph((_Float16)alpha);
| ^~~~~~~~
include/simsimd/elementwise.h:1893:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1893 | __m512h beta_vec = _mm512_set1_ph((_Float16)beta);
| ^~~~~~~
| __m512bh
include/simsimd/elementwise.h:1893:40: error: ‘_Float16’ is not supported on this target
1893 | __m512h beta_vec = _mm512_set1_ph((_Float16)beta);
| ^~~~~~~~
include/simsimd/elementwise.h:1895:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1895 | __m512h a_f16_low_vec, a_f16_high_vec, b_f16_low_vec, b_f16_high_vec;
| ^~~~~~~
| __m512bh
include/simsimd/elementwise.h:1896:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1896 | __m512h c_f16_low_vec, c_f16_high_vec, ab_f16_low_vec, ab_f16_high_vec;
| ^~~~~~~
| __m512bh
include/simsimd/elementwise.h:1897:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
1897 | __m512h ab_scaled_f16_low_vec, ab_scaled_f16_high_vec, sum_f16_low_vec, sum_f16_high_vec;
| ^~~~~~~
| __m512bh
include/simsimd/elementwise.h:1909:20: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1909 | a_u8_vec = _mm512_loadu_epi8(a);
| ^~~~~~~~~~~~~~~~~
include/simsimd/elementwise.h:1910:20: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1910 | b_u8_vec = _mm512_loadu_epi8(b);
| ^~~~~~~~~~~~~~~~~
include/simsimd/elementwise.h:1911:20: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1911 | c_u8_vec = _mm512_loadu_epi8(c);
| ^~~~~~~~~~~~~~~~~
include/simsimd/elementwise.h:1931:23: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1931 | sum_i16_low_vec = _mm512_cvtph_epi16(sum_f16_low_vec);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/elementwise.h:1932:24: error: incompatible types when assigning to type ‘__m512i’ {aka ‘__vector(8) long long int’} from type ‘int’
1932 | sum_i16_high_vec = _mm512_cvtph_epi16(sum_f16_high_vec);
| ^~~~~~~~~~~~~~~~~~
include/simsimd/probability.h: At top level:
cc1: error: attribute ‘avx512fp16’ argument ‘target’ is unknown
In file included from include/simsimd/simsimd.h:110,
from c/lib.c:48:
include/simsimd/probability.h:511:18: error: unknown type name ‘__m512h’
511 | SIMSIMD_INTERNAL __m512h _simsimd_log2_f16_sapphire(__m512h x) {
| ^~~~~~~
include/simsimd/probability.h:511:53: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
511 | SIMSIMD_INTERNAL __m512h _simsimd_log2_f16_sapphire(__m512h x) {
| ^~~~~~~
| __m512bh
include/simsimd/probability.h: In function ‘simsimd_kl_f16_sapphire’:
include/simsimd/probability.h:530:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
530 | __m512h sum_vec = _mm512_setzero_ph();
| ^~~~~~~
| __m512bh
include/simsimd/probability.h:531:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
531 | __m512h epsilon_vec = _mm512_set1_ph((simsimd_f16_t)SIMSIMD_F16_DIVISION_EPSILON);
| ^~~~~~~
| __m512bh
include/simsimd/probability.h:532:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
532 | __m512h a_vec, b_vec;
| ^~~~~~~
| __m512bh
include/simsimd/probability.h:546:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
546 | __m512h ratio_vec = _mm512_div_ph(a_vec, b_vec);
| ^~~~~~~
| __m512bh
include/simsimd/probability.h:547:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
547 | __m512h log_ratio_vec = _simsimd_log2_f16_sapphire(ratio_vec);
| ^~~~~~~
| __m512bh
include/simsimd/probability.h:548:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
548 | __m512h prod_vec = _mm512_mul_ph(a_vec, log_ratio_vec);
| ^~~~~~~
| __m512bh
include/simsimd/probability.h: In function ‘simsimd_js_f16_sapphire’:
include/simsimd/probability.h:558:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
558 | __m512h sum_a_vec = _mm512_setzero_ph();
| ^~~~~~~
| __m512bh
include/simsimd/probability.h:559:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
559 | __m512h sum_b_vec = _mm512_setzero_ph();
| ^~~~~~~
| __m512bh
include/simsimd/probability.h:560:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
560 | __m512h epsilon_vec = _mm512_set1_ph((simsimd_f16_t)SIMSIMD_F16_DIVISION_EPSILON);
| ^~~~~~~
| __m512bh
include/simsimd/probability.h:561:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
561 | __m512h a_vec, b_vec;
| ^~~~~~~
| __m512bh
include/simsimd/probability.h:575:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
575 | __m512h m_vec = _mm512_mul_ph(_mm512_add_ph(a_vec, b_vec), _mm512_set1_ph((simsimd_f16_t)0.5f));
| ^~~~~~~
| __m512bh
include/simsimd/probability.h:579:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
579 | __m512h m_recip_approx = _mm512_rcp_ph(m_vec);
| ^~~~~~~
| __m512bh
include/simsimd/probability.h:580:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
580 | __m512h ratio_a_vec = _mm512_mul_ph(a_vec, m_recip_approx);
| ^~~~~~~
| __m512bh
include/simsimd/probability.h:581:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
581 | __m512h ratio_b_vec = _mm512_mul_ph(b_vec, m_recip_approx);
| ^~~~~~~
| __m512bh
include/simsimd/probability.h:582:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
582 | __m512h log_ratio_a_vec = _simsimd_log2_f16_sapphire(ratio_a_vec);
| ^~~~~~~
| __m512bh
include/simsimd/probability.h:583:5: error: unknown type name ‘__m512h’; did you mean ‘__m512bh’?
583 | __m512h log_ratio_b_vec = _simsimd_log2_f16_sapphire(ratio_b_vec);
| ^~~~~~~
| __m512bh
error: command '
*/bin/gcc' failed with exit code 1
[end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for simsimd
Failed to build simsimd
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (simsimd)

</details>
### Steps to reproduce

just run `pip install simsimd` in my python env created by miniconda.

### Expected behavior

I tried this using gcc version 8.4.0, 10.5.0, 14.2.0. But all get the same result.

### SimSIMD version

5.9.6, 5.9.7, 5.9.8, 5.9.9

### Operating System

Ubuntu 16.04

### Hardware architecture

x86

### Is there an existing issue for this?

- [X] I have searched the existing issues

### Code of Conduct

- [X] I agree to follow this project's Code of Conduct
@Fitzgera1d Fitzgera1d added the bug Something isn't working label Nov 1, 2024
@ashvardanian
Copy link
Owner

ashvardanian commented Nov 1, 2024

I tried this using gcc version 8.4.0, 10.5.0, 14.2.0. But all get the same result.

@Fitzgera1d, you must be using a very old compiler. GCC 14 must have worked. 13 should also be enough for everything in this repo 🤔

@Fitzgera1d
Copy link
Author

@ashvardanian Thanks for your reply! But I've also tried gcc-14.2.0(installed without root permission) as mentioned before and end up with same error

@Fitzgera1d
Copy link
Author

Fitzgera1d commented Nov 1, 2024

ohh, I'm sorry, using gcc-14.2.0 returns another error

  Building wheel for simsimd (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for simsimd (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [397 lines of output]
      running bdist_wheel
      running build
      running build_py
      running egg_info
      writing simsimd.egg-info/PKG-INFO
      writing dependency_links to simsimd.egg-info/dependency_links.txt
      writing top-level names to simsimd.egg-info/top_level.txt
      reading manifest file 'simsimd.egg-info/SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      adding license file 'LICENSE'
      writing manifest file 'simsimd.egg-info/SOURCES.txt'
      creating build/lib.linux-x86_64-cpython-310/simsimd
      copying python/annotations/__init__.pyi -> build/lib.linux-x86_64-cpython-310/simsimd
      copying python/annotations/py.typed -> build/lib.linux-x86_64-cpython-310/simsimd
      running build_ext
      building 'simsimd' extension
      creating build/temp.linux-x86_64-cpython-310/c
      creating build/temp.linux-x86_64-cpython-310/python
      gcc -pthread -B $HOME/miniconda3/envs/sam/compiler_compat -Wno-unused-result -Wsign-compare -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem $HOME/miniconda3/envs/sam/include -fPIC -O2 -isystem $HOME/miniconda3/envs/sam/include -fPIC -DSIMSIMD_NATIVE_F16=0 -DSIMSIMD_NATIVE_BF16=0 -DSIMSIMD_DYNAMIC_DISPATCH=1 -DSIMSIMD_TARGET_NEON=1 -DSIMSIMD_TARGET_NEON_F16=1 -DSIMSIMD_TARGET_NEON_BF16=1 -DSIMSIMD_TARGET_SVE=1 -DSIMSIMD_TARGET_SVE_F16=1 -DSIMSIMD_TARGET_SVE_BF16=1 -DSIMSIMD_TARGET_SVE2=1 -DSIMSIMD_TARGET_HASWELL=1 -DSIMSIMD_TARGET_SKYLAKE=1 -DSIMSIMD_TARGET_ICE=1 -DSIMSIMD_TARGET_GENOA=1 -DSIMSIMD_TARGET_SAPPHIRE=1 -DSIMSIMD_TARGET_TURIN=1 -DSIMSIMD_TARGET_SIERRA=0 -Iinclude -I$HOME/miniconda3/envs/sam/include/python3.10 -c c/lib.c -o build/temp.linux-x86_64-cpython-310/c/lib.o -std=c11 -O3 -ffast-math -fdiagnostics-color=always -fvisibility=default -fPIC -w -fopenmp
      /tmp/ccnTf9ng.s: Assembler messages:
      /tmp/ccnTf9ng.s:11852: Error: no such instruction: `vsubph %zmm0,%zmm4,%zmm4'
      /tmp/ccnTf9ng.s:11859: Error: no such instruction: `vsubph -64(%rsi,%rax,2),%zmm0,%zmm0'
      /tmp/ccnTf9ng.s:11860: Error: no such instruction: `vfmadd231ph -64(%rcx,%rax,2),%zmm0,%zmm1'
      /tmp/ccnTf9ng.s:11870: Error: no such instruction: `vsubph %zmm3,%zmm0,%zmm0'
      /tmp/ccnTf9ng.s:11871: Error: no such instruction: `vfmadd231ph %zmm2,%zmm0,%zmm1'
      /tmp/ccnTf9ng.s:11874: Error: no such instruction: `vfmadd231ph %zmm1,%zmm4,%zmm5'
      /tmp/ccnTf9ng.s:11882: Error: no such instruction: `vaddph %ymm5,%ymm0,%ymm0'
      /tmp/ccnTf9ng.s:11885: Error: no such instruction: `vaddph %xmm0,%xmm1,%xmm1'
      /tmp/ccnTf9ng.s:11887: Error: no such instruction: `vaddph %xmm1,%xmm0,%xmm0'
      /tmp/ccnTf9ng.s:11889: Error: no such instruction: `vaddph %xmm0,%xmm1,%xmm1'
      /tmp/ccnTf9ng.s:11892: Error: no such instruction: `vaddsh %xmm1,%xmm0,%xmm0'
      /tmp/ccnTf9ng.s:11893: Error: no such instruction: `vcvtsh2ss %xmm0,%xmm0,%xmm0'
      /tmp/ccnTf9ng.s:11955: Error: no such instruction: `vfmadd231ph -64(%rcx,%rax,2),%zmm5,%zmm0'
      /tmp/ccnTf9ng.s:11964: Error: no such instruction: `vfmadd231ph %zmm1,%zmm2,%zmm0'
      /tmp/ccnTf9ng.s:11967: Error: no such instruction: `vfmadd231ph %zmm4,%zmm0,%zmm3'
      /tmp/ccnTf9ng.s:11975: Error: no such instruction: `vaddph %ymm3,%ymm0,%ymm0'
      /tmp/ccnTf9ng.s:11978: Error: no such instruction: `vaddph %xmm0,%xmm1,%xmm0'
      /tmp/ccnTf9ng.s:11980: Error: no such instruction: `vaddph %xmm0,%xmm1,%xmm1'
      /tmp/ccnTf9ng.s:11982: Error: no such instruction: `vaddph %xmm1,%xmm0,%xmm0'
      /tmp/ccnTf9ng.s:11985: Error: no such instruction: `vaddsh %xmm0,%xmm1,%xmm0'
      /tmp/ccnTf9ng.s:11986: Error: no such instruction: `vcvtsh2sd %xmm0,%xmm0,%xmm0'
      /tmp/ccnTf9ng.s:12019: Error: no such instruction: `vsubph %zmm2,%zmm0,%zmm0'
      /tmp/ccnTf9ng.s:12020: Error: no such instruction: `vfmadd231ph %zmm0,%zmm0,%zmm1'
      /tmp/ccnTf9ng.s:12026: Error: no such instruction: `vaddph %ymm1,%ymm0,%ymm0'
      /tmp/ccnTf9ng.s:12029: Error: no such instruction: `vaddph %xmm0,%xmm1,%xmm0'
      /tmp/ccnTf9ng.s:12031: Error: no such instruction: `vaddph %xmm0,%xmm1,%xmm1'
      /tmp/ccnTf9ng.s:12033: Error: no such instruction: `vaddph %xmm1,%xmm0,%xmm0'
      /tmp/ccnTf9ng.s:12036: Error: no such instruction: `vaddsh %xmm0,%xmm1,%xmm0'
      /tmp/ccnTf9ng.s:12037: Error: no such instruction: `vcvtsh2sd %xmm0,%xmm0,%xmm0'
      /tmp/ccnTf9ng.s:12049: Error: no such instruction: `vsubph %zmm2,%zmm0,%zmm0'
      /tmp/ccnTf9ng.s:12050: Error: no such instruction: `vfmadd231ph %zmm0,%zmm0,%zmm1'
      /tmp/ccnTf9ng.s:12075: Error: no such instruction: `vfmadd231ph %zmm1,%zmm2,%zmm0'
      /tmp/ccnTf9ng.s:12076: Error: no such instruction: `vfmadd231ph %zmm2,%zmm2,%zmm4'
      /tmp/ccnTf9ng.s:12077: Error: no such instruction: `vfmadd231ph %zmm1,%zmm1,%zmm3'
      /tmp/ccnTf9ng.s:12085: Error: no such instruction: `vaddph %ymm4,%ymm1,%ymm1'
      /tmp/ccnTf9ng.s:12088: Error: no such instruction: `vaddph %xmm1,%xmm2,%xmm1'
      /tmp/ccnTf9ng.s:12090: Error: no such instruction: `vaddph %xmm1,%xmm2,%xmm2'
      /tmp/ccnTf9ng.s:12092: Error: no such instruction: `vaddph %xmm2,%xmm1,%xmm1'
      /tmp/ccnTf9ng.s:12095: Error: no such instruction: `vaddsh %xmm1,%xmm4,%xmm4'
      /tmp/ccnTf9ng.s:12098: Error: no such instruction: `vaddph %ymm3,%ymm1,%ymm1'
      /tmp/ccnTf9ng.s:12102: Error: no such instruction: `vaddph %xmm1,%xmm2,%xmm2'
      /tmp/ccnTf9ng.s:12103: Error: no such instruction: `vcvtsh2ss %xmm4,%xmm4,%xmm4'
      /tmp/ccnTf9ng.s:12106: Error: no such instruction: `vaddph %xmm2,%xmm1,%xmm1'
      /tmp/ccnTf9ng.s:12108: Error: no such instruction: `vaddph %xmm1,%xmm2,%xmm2'
      /tmp/ccnTf9ng.s:12111: Error: no such instruction: `vaddsh %xmm2,%xmm1,%xmm1'
      /tmp/ccnTf9ng.s:12112: Error: no such instruction: `vcvtsh2ss %xmm1,%xmm1,%xmm1'
      /tmp/ccnTf9ng.s:12124: Error: no such instruction: `vaddph %ymm2,%ymm0,%ymm0'
      /tmp/ccnTf9ng.s:12126: Error: no such instruction: `vaddph %xmm2,%xmm0,%xmm0'
      /tmp/ccnTf9ng.s:12128: Error: no such instruction: `vaddph %xmm0,%xmm2,%xmm2'
      /tmp/ccnTf9ng.s:12130: Error: no such instruction: `vaddph %xmm2,%xmm0,%xmm0'
      /tmp/ccnTf9ng.s:12133: Error: no such instruction: `vaddsh %xmm0,%xmm2,%xmm2'
      /tmp/ccnTf9ng.s:12135: Error: no such instruction: `vcvtsh2ss %xmm2,%xmm2,%xmm2'
      /tmp/ccnTf9ng.s:12162: Error: no such instruction: `vfmadd231ph %zmm2,%zmm2,%zmm4'
      /tmp/ccnTf9ng.s:12163: Error: no such instruction: `vfmadd231ph %zmm1,%zmm2,%zmm0'
      /tmp/ccnTf9ng.s:12164: Error: no such instruction: `vfmadd231ph %zmm1,%zmm1,%zmm3'
      /tmp/ccnTf9ng.s:12193: Error: no such instruction: `vfmadd231ph %zmm1,%zmm2,%zmm0'
      /tmp/ccnTf9ng.s:12204: Error: no such instruction: `vfmadd231ph %zmm1,%zmm2,%zmm0'
      /tmp/ccnTf9ng.s:12208: Error: no such instruction: `vaddph %ymm0,%ymm1,%ymm0'
      /tmp/ccnTf9ng.s:12211: Error: no such instruction: `vaddph %xmm0,%xmm1,%xmm0'
      /tmp/ccnTf9ng.s:12213: Error: no such instruction: `vaddph %xmm0,%xmm1,%xmm1'
      /tmp/ccnTf9ng.s:12215: Error: no such instruction: `vaddph %xmm1,%xmm0,%xmm0'
      /tmp/ccnTf9ng.s:12218: Error: no such instruction: `vaddsh %xmm0,%xmm1,%xmm0'
      /tmp/ccnTf9ng.s:12219: Error: no such instruction: `vcvtsh2sd %xmm0,%xmm0,%xmm0'
      /tmp/ccnTf9ng.s:12233: Error: no such instruction: `vcvtsd2sh %xmm0,%xmm0,%xmm0'
      /tmp/ccnTf9ng.s:12234: Error: no such instruction: `vcvtsd2sh %xmm1,%xmm1,%xmm1'
      /tmp/ccnTf9ng.s:12250: Error: no such instruction: `vmulph %zmm0,%zmm2,%zmm2'
      /tmp/ccnTf9ng.s:12251: Error: no such instruction: `vmulph %zmm4,%zmm2,%zmm2'
      /tmp/ccnTf9ng.s:12252: Error: no such instruction: `vfmadd231ph %zmm1,%zmm3,%zmm2'
      /tmp/ccnTf9ng.s:12268: Error: no such instruction: `vmulph %zmm3,%zmm0,%zmm0'
      /tmp/ccnTf9ng.s:12269: Error: no such instruction: `vmulph %zmm4,%zmm0,%zmm0'
      /tmp/ccnTf9ng.s:12270: Error: no such instruction: `vfmadd132ph %zmm2,%zmm0,%zmm1'
      /tmp/ccnTf9ng.s:12297: Error: no such instruction: `vrcpph %zmm0,%zmm0'
      /tmp/ccnTf9ng.s:12298: Error: no such instruction: `vmulph %zmm4,%zmm0,%zmm0'
      /tmp/ccnTf9ng.s:12299: Error: no such instruction: `vgetexpph %zmm0,%zmm5'
      /tmp/ccnTf9ng.s:12300: Error: no such instruction: `vgetmantph $0,%zmm0,%zmm0'
      /tmp/ccnTf9ng.s:12302: Error: no such instruction: `vfmadd132ph %zmm2,%zmm2,%zmm1'
      /tmp/ccnTf9ng.s:12303: Error: no such instruction: `vfmadd132ph %zmm0,%zmm2,%zmm1'
      /tmp/ccnTf9ng.s:12304: Error: no such instruction: `vfmadd132ph %zmm0,%zmm8,%zmm1'
      /tmp/ccnTf9ng.s:12305: Error: no such instruction: `vfmadd132ph %zmm0,%zmm2,%zmm1'
      /tmp/ccnTf9ng.s:12306: Error: no such instruction: `vfmadd132ph %zmm0,%zmm7,%zmm1'
      /tmp/ccnTf9ng.s:12307: Error: no such instruction: `vaddph %zmm6,%zmm0,%zmm0'
      /tmp/ccnTf9ng.s:12308: Error: no such instruction: `vfmadd132ph %zmm1,%zmm5,%zmm0'
      /tmp/ccnTf9ng.s:12309: Error: no such instruction: `vfmadd231ph %zmm4,%zmm0,%zmm3'
      /tmp/ccnTf9ng.s:12323: Error: no such instruction: `vrcpph %zmm0,%zmm0'
      /tmp/ccnTf9ng.s:12324: Error: no such instruction: `vmulph %zmm0,%zmm4,%zmm0'
      /tmp/ccnTf9ng.s:12325: Error: no such instruction: `vgetexpph %zmm0,%zmm5'
      /tmp/ccnTf9ng.s:12326: Error: no such instruction: `vgetmantph $0,%zmm0,%zmm0'
      /tmp/ccnTf9ng.s:12328: Error: no such instruction: `vfmadd132ph %zmm2,%zmm2,%zmm1'
      /tmp/ccnTf9ng.s:12329: Error: no such instruction: `vfmadd132ph %zmm0,%zmm2,%zmm1'
      /tmp/ccnTf9ng.s:12330: Error: no such instruction: `vfmadd132ph %zmm0,%zmm8,%zmm1'
      /tmp/ccnTf9ng.s:12331: Error: no such instruction: `vfmadd132ph %zmm0,%zmm2,%zmm1'
      /tmp/ccnTf9ng.s:12332: Error: no such instruction: `vfmadd132ph %zmm0,%zmm7,%zmm1'
      /tmp/ccnTf9ng.s:12333: Error: no such instruction: `vaddph %zmm6,%zmm0,%zmm0'
      /tmp/ccnTf9ng.s:12334: Error: no such instruction: `vfmadd132ph %zmm1,%zmm5,%zmm0'
      /tmp/ccnTf9ng.s:12335: Error: no such instruction: `vfmadd231ph %zmm0,%zmm4,%zmm3'
      /tmp/ccnTf9ng.s:12339: Error: no such instruction: `vaddph %ymm3,%ymm0,%ymm0'
      /tmp/ccnTf9ng.s:12342: Error: no such instruction: `vaddph %xmm0,%xmm1,%xmm1'
      /tmp/ccnTf9ng.s:12344: Error: no such instruction: `vaddph %xmm1,%xmm0,%xmm0'
      /tmp/ccnTf9ng.s:12346: Error: no such instruction: `vaddph %xmm0,%xmm1,%xmm1'
      /tmp/ccnTf9ng.s:12349: Error: no such instruction: `vaddsh %xmm1,%xmm0,%xmm0'
      /tmp/ccnTf9ng.s:12350: Error: no such instruction: `vcvtsh2ss %xmm0,%xmm0,%xmm0'
      /tmp/ccnTf9ng.s:12371: Error: no such instruction: `vrcpph %zmm7,%zmm8'
      /tmp/ccnTf9ng.s:12382: Error: no such instruction: `vmulph %zmm8,%zmm5,%zmm0'
      /tmp/ccnTf9ng.s:12383: Error: no such instruction: `vcmpph $29,%zmm3,%zmm4,%k1'
      /tmp/ccnTf9ng.s:12384: Error: no such instruction: `vmulph %zmm8,%zmm4,%zmm2'
      /tmp/ccnTf9ng.s:12385: Error: no such instruction: `vcmpph $29,%zmm3,%zmm5,%k1{%k1}'
      /tmp/ccnTf9ng.s:12386: Error: no such instruction: `vgetexpph %zmm0,%zmm12'
      /tmp/ccnTf9ng.s:12387: Error: no such instruction: `vgetmantph $0,%zmm0,%zmm0'
      /tmp/ccnTf9ng.s:12389: Error: no such instruction: `vfmadd132ph %zmm3,%zmm3,%zmm1'
      /tmp/ccnTf9ng.s:12390: Error: no such instruction: `vfmadd132ph %zmm0,%zmm3,%zmm1'
      /tmp/ccnTf9ng.s:12391: Error: no such instruction: `vfmadd132ph %zmm0,%zmm11,%zmm1'
      /tmp/ccnTf9ng.s:12392: Error: no such instruction: `vfmadd132ph %zmm0,%zmm3,%zmm1'
      /tmp/ccnTf9ng.s:12393: Error: no such instruction: `vfmadd132ph %zmm0,%zmm10,%zmm1'
      /tmp/ccnTf9ng.s:12394: Error: no such instruction: `vaddph %zmm9,%zmm0,%zmm0'
      /tmp/ccnTf9ng.s:12395: Error: no such instruction: `vfmadd132ph %zmm0,%zmm12,%zmm1'
      /tmp/ccnTf9ng.s:12396: Error: no such instruction: `vgetexpph %zmm2,%zmm12'
      /tmp/ccnTf9ng.s:12397: Error: no such instruction: `vgetmantph $0,%zmm2,%zmm2'
      /tmp/ccnTf9ng.s:12398: Error: no such instruction: `vfmadd231ph %zmm1,%zmm5,%zmm6{%k1}{z}'
      /tmp/ccnTf9ng.s:12400: Error: no such instruction: `vfmadd132ph %zmm3,%zmm3,%zmm0'
      /tmp/ccnTf9ng.s:12401: Error: no such instruction: `vfmadd132ph %zmm2,%zmm3,%zmm0'
      /tmp/ccnTf9ng.s:12402: Error: no such instruction: `vfmadd132ph %zmm2,%zmm11,%zmm0'
      /tmp/ccnTf9ng.s:12403: Error: no such instruction: `vfmadd132ph %zmm2,%zmm3,%zmm0'
      /tmp/ccnTf9ng.s:12404: Error: no such instruction: `vfmadd132ph %zmm2,%zmm10,%zmm0'
      /tmp/ccnTf9ng.s:12405: Error: no such instruction: `vaddph %zmm9,%zmm2,%zmm2'
      /tmp/ccnTf9ng.s:12406: Error: no such instruction: `vfmadd132ph %zmm2,%zmm12,%zmm0'
      /tmp/ccnTf9ng.s:12407: Error: no such instruction: `vfmadd231ph %zmm0,%zmm4,%zmm7{%k1}{z}'
      /tmp/ccnTf9ng.s:12422: Error: no such instruction: `vaddph %zmm7,%zmm6,%zmm6'
      /tmp/ccnTf9ng.s:12425: Error: no such instruction: `vaddph %ymm6,%ymm0,%ymm0'
      /tmp/ccnTf9ng.s:12428: Error: no such instruction: `vaddph %xmm0,%xmm1,%xmm1'
      /tmp/ccnTf9ng.s:12430: Error: no such instruction: `vaddph %xmm1,%xmm0,%xmm0'
      /tmp/ccnTf9ng.s:12432: Error: no such instruction: `vaddph %xmm0,%xmm1,%xmm1'
      /tmp/ccnTf9ng.s:12435: Error: no such instruction: `vaddsh %xmm1,%xmm0,%xmm0'
      /tmp/ccnTf9ng.s:12436: Error: no such instruction: `vcvtsh2ss %xmm0,%xmm0,%xmm0'
      /tmp/ccnTf9ng.s:14873: Error: no such instruction: `vdpbf16ps %zmm5,%zmm0,%zmm3'
      /tmp/ccnTf9ng.s:14969: Error: no such instruction: `vdpbf16ps -64(%rcx,%rax,2),%zmm1,%zmm0'
      /tmp/ccnTf9ng.s:14978: Error: no such instruction: `vdpbf16ps %zmm2,%zmm1,%zmm0'
      /tmp/ccnTf9ng.s:15040: Error: no such instruction: `vdpbf16ps %zmm0,%zmm0,%zmm2'
      /tmp/ccnTf9ng.s:15088: Error: no such instruction: `vdpbf16ps %zmm0,%zmm1,%zmm4'
      /tmp/ccnTf9ng.s:15089: Error: no such instruction: `vdpbf16ps %zmm1,%zmm1,%zmm3'
      /tmp/ccnTf9ng.s:15090: Error: no such instruction: `vdpbf16ps %zmm0,%zmm0,%zmm2'
      /tmp/ccnTf9ng.s:15153: Error: no such instruction: `vdpbf16ps %zmm1,%zmm1,%zmm3'
      /tmp/ccnTf9ng.s:15154: Error: no such instruction: `vdpbf16ps %zmm0,%zmm1,%zmm4'
      /tmp/ccnTf9ng.s:15155: Error: no such instruction: `vdpbf16ps %zmm0,%zmm0,%zmm2'
      /tmp/ccnTf9ng.s:15184: Error: no such instruction: `vdpbf16ps %zmm2,%zmm1,%zmm0'
      /tmp/ccnTf9ng.s:15195: Error: no such instruction: `vdpbf16ps %zmm2,%zmm1,%zmm0'
      /tmp/ccnTf9ng.s:16848: Error: no such instruction: `vpdpwssd %zmm0,%zmm0,%zmm2'
      /tmp/ccnTf9ng.s:16878: Error: no such instruction: `vpdpwssd %zmm0,%zmm0,%zmm2'
      /tmp/ccnTf9ng.s:16902: Error: no such instruction: `vpdpwssd %zmm1,%zmm0,%zmm2'
      /tmp/ccnTf9ng.s:16919: Error: no such instruction: `vpdpwssd %zmm1,%zmm0,%zmm2'
      /tmp/ccnTf9ng.s:17077: Error: no such instruction: `vcvtsd2sh %xmm0,%xmm0,%xmm0'
      /tmp/ccnTf9ng.s:17079: Error: no such instruction: `vcvtsd2sh %xmm1,%xmm1,%xmm1'
      /tmp/ccnTf9ng.s:17101: Error: no such instruction: `vcvtw2ph %zmm7,%zmm7'
      /tmp/ccnTf9ng.s:17102: Error: no such instruction: `vcvtw2ph %zmm4,%zmm4'
      /tmp/ccnTf9ng.s:17103: Error: no such instruction: `vcvtw2ph %zmm3,%zmm3'
      /tmp/ccnTf9ng.s:17104: Error: no such instruction: `vcvtw2ph %zmm2,%zmm2'
      /tmp/ccnTf9ng.s:17105: Error: no such instruction: `vmulph %zmm7,%zmm3,%zmm3'
      /tmp/ccnTf9ng.s:17106: Error: no such instruction: `vmulph %zmm4,%zmm2,%zmm2'
      /tmp/ccnTf9ng.s:17110: Error: no such instruction: `vcvtw2ph %zmm0,%zmm0'
      /tmp/ccnTf9ng.s:17111: Error: no such instruction: `vcvtw2ph %zmm1,%zmm1'
      /tmp/ccnTf9ng.s:17112: Error: no such instruction: `vmulph %zmm6,%zmm3,%zmm3'
      /tmp/ccnTf9ng.s:17113: Error: no such instruction: `vmulph %zmm6,%zmm2,%zmm2'
      /tmp/ccnTf9ng.s:17114: Error: no such instruction: `vfmadd132ph %zmm5,%zmm3,%zmm0'
      /tmp/ccnTf9ng.s:17115: Error: no such instruction: `vfmadd132ph %zmm5,%zmm2,%zmm1'
      /tmp/ccnTf9ng.s:17116: Error: no such instruction: `vcvtph2w %zmm0,%zmm0'
      /tmp/ccnTf9ng.s:17118: Error: no such instruction: `vcvtph2w %zmm1,%zmm1'
      /tmp/ccnTf9ng.s:17991: Error: no such instruction: `vpdpwssd %zmm2,%zmm2,%zmm1'
      /tmp/ccnTf9ng.s:17993: Error: no such instruction: `vpdpwssd %zmm0,%zmm0,%zmm2'
      /tmp/ccnTf9ng.s:18030: Error: no such instruction: `vpdpwssd %zmm2,%zmm2,%zmm1'
      /tmp/ccnTf9ng.s:18032: Error: no such instruction: `vpdpwssd %zmm0,%zmm0,%zmm2'
      /tmp/ccnTf9ng.s:18060: Error: no such instruction: `vpdpwssd %zmm7,%zmm4,%zmm3'
      /tmp/ccnTf9ng.s:18063: Error: no such instruction: `vpdpwssd %zmm1,%zmm0,%zmm4'
      /tmp/ccnTf9ng.s:18098: Error: no such instruction: `vpdpwssd %zmm7,%zmm4,%zmm3'
      /tmp/ccnTf9ng.s:18101: Error: no such instruction: `vpdpwssd %zmm1,%zmm0,%zmm4'
      /tmp/ccnTf9ng.s:18132: Error: no such instruction: `vpdpwssds %zmm3,%zmm4,%zmm5'
      /tmp/ccnTf9ng.s:18136: Error: no such instruction: `vpdpwssds %zmm4,%zmm4,%zmm6'
      /tmp/ccnTf9ng.s:18139: Error: no such instruction: `vpdpwssds %zmm0,%zmm1,%zmm13'
      /tmp/ccnTf9ng.s:18140: Error: no such instruction: `vpdpwssds %zmm1,%zmm1,%zmm4'
      /tmp/ccnTf9ng.s:18142: Error: no such instruction: `vpdpwssds %zmm3,%zmm3,%zmm1'
      /tmp/ccnTf9ng.s:18144: Error: no such instruction: `vpdpwssds %zmm0,%zmm0,%zmm3'
      /tmp/ccnTf9ng.s:18251: Error: no such instruction: `vcvtsd2sh %xmm0,%xmm0,%xmm0'
      /tmp/ccnTf9ng.s:18252: Error: no such instruction: `vcvtsd2sh %xmm1,%xmm1,%xmm1'
      /tmp/ccnTf9ng.s:18274: Error: no such instruction: `vcvtw2ph %zmm4,%zmm6'
      /tmp/ccnTf9ng.s:18275: Error: no such instruction: `vcvtw2ph %zmm8,%zmm8'
      /tmp/ccnTf9ng.s:18276: Error: no such instruction: `vcvtw2ph %zmm5,%zmm5'
      /tmp/ccnTf9ng.s:18277: Error: no such instruction: `vcvtw2ph %zmm3,%zmm3'
      /tmp/ccnTf9ng.s:18278: Error: no such instruction: `vmulph %zmm8,%zmm5,%zmm5'
      /tmp/ccnTf9ng.s:18281: Error: no such instruction: `vmulph %zmm6,%zmm3,%zmm3'
      /tmp/ccnTf9ng.s:18282: Error: no such instruction: `vcvtw2ph %zmm4,%zmm4'
      /tmp/ccnTf9ng.s:18283: Error: no such instruction: `vcvtw2ph %zmm2,%zmm2'
      /tmp/ccnTf9ng.s:18284: Error: no such instruction: `vmulph %zmm0,%zmm5,%zmm5'
      /tmp/ccnTf9ng.s:18285: Error: no such instruction: `vmulph %zmm0,%zmm3,%zmm3'
      /tmp/ccnTf9ng.s:18286: Error: no such instruction: `vfmadd132ph %zmm1,%zmm5,%zmm4'
      /tmp/ccnTf9ng.s:18287: Error: no such instruction: `vfmadd132ph %zmm1,%zmm3,%zmm2'
      /tmp/ccnTf9ng.s:18288: Error: no such instruction: `vcvtph2w %zmm4,%zmm3'
      /tmp/ccnTf9ng.s:18289: Error: no such instruction: `vcvtph2w %zmm2,%zmm2'
      /tmp/ccnTf9ng.s:18631: Error: no such instruction: `vpopcntq %zmm2,%zmm2'
      /tmp/ccnTf9ng.s:18632: Error: no such instruction: `vpopcntq %zmm0,%zmm0'
      /tmp/ccnTf9ng.s:18670: Error: no such instruction: `vpopcntq %zmm1,%zmm1'
      /tmp/ccnTf9ng.s:18677: Error: no such instruction: `vpopcntq %zmm0,%zmm0'
      /tmp/ccnTf9ng.s:18680: Error: no such instruction: `vpopcntq %zmm3,%zmm3'
      /tmp/ccnTf9ng.s:18681: Error: no such instruction: `vpopcntq %zmm2,%zmm2'
      /tmp/ccnTf9ng.s:18705: Error: no such instruction: `vpopcntq %zmm1,%zmm1'
      /tmp/ccnTf9ng.s:18712: Error: no such instruction: `vpopcntq %zmm3,%zmm3'
      /tmp/ccnTf9ng.s:18715: Error: no such instruction: `vpopcntq %zmm7,%zmm7'
      /tmp/ccnTf9ng.s:18718: Error: no such instruction: `vpopcntq %zmm6,%zmm6'
      /tmp/ccnTf9ng.s:18719: Error: no such instruction: `vpopcntq %zmm0,%zmm0'
      /tmp/ccnTf9ng.s:18720: Error: no such instruction: `vpopcntq %zmm2,%zmm2'
      /tmp/ccnTf9ng.s:18721: Error: no such instruction: `vpopcntq %zmm5,%zmm5'
      /tmp/ccnTf9ng.s:18722: Error: no such instruction: `vpopcntq %zmm4,%zmm4'
      /tmp/ccnTf9ng.s:18754: Error: no such instruction: `vpopcntq %zmm1,%zmm1'
      /tmp/ccnTf9ng.s:18759: Error: no such instruction: `vpopcntq %zmm3,%zmm3'
      /tmp/ccnTf9ng.s:18760: Error: no such instruction: `vpopcntq %zmm0,%zmm0'
      /tmp/ccnTf9ng.s:18763: Error: no such instruction: `vpopcntq %zmm5,%zmm5'
      /tmp/ccnTf9ng.s:18764: Error: no such instruction: `vpopcntq %zmm2,%zmm2'
      /tmp/ccnTf9ng.s:18765: Error: no such instruction: `vpopcntq %zmm4,%zmm4'
      /tmp/ccnTf9ng.s:18795: Error: no such instruction: `vpopcntq %zmm1,%zmm1'
      /tmp/ccnTf9ng.s:18796: Error: no such instruction: `vpopcntq %zmm0,%zmm0'
      /tmp/ccnTf9ng.s:18811: Error: no such instruction: `vpopcntq %zmm1,%zmm1'
      /tmp/ccnTf9ng.s:18812: Error: no such instruction: `vpopcntq %zmm0,%zmm0'
      /tmp/ccnTf9ng.s:18844: Error: no such instruction: `vpopcntq %zmm1,%zmm1'
      /tmp/ccnTf9ng.s:18866: Error: no such instruction: `vpopcntq %zmm0,%zmm0'
      /tmp/ccnTf9ng.s:18874: Error: no such instruction: `vpopcntq %zmm1,%zmm1'
      /tmp/ccnTf9ng.s:18891: Error: no such instruction: `vpopcntq %zmm0,%zmm0'
      /tmp/ccnTf9ng.s:18896: Error: no such instruction: `vpopcntq %zmm1,%zmm1'
      /tmp/ccnTf9ng.s:18898: Error: no such instruction: `vpopcntq %zmm3,%zmm3'
      /tmp/ccnTf9ng.s:18899: Error: no such instruction: `vpopcntq %zmm2,%zmm2'
      /tmp/ccnTf9ng.s:18908: Error: no such instruction: `vpopcntq %zmm0,%zmm0'
      /tmp/ccnTf9ng.s:18917: Error: no such instruction: `vpopcntq %zmm1,%zmm1'
      /tmp/ccnTf9ng.s:18919: Error: no such instruction: `vpopcntq %zmm2,%zmm2'
      /tmp/ccnTf9ng.s:18937: Error: no such instruction: `vpopcntq %zmm0,%zmm0'
      /tmp/ccnTf9ng.s:18950: Error: no such instruction: `vpopcntq %zmm0,%zmm0'
      /tmp/ccnTf9ng.s:19212: Error: no such instruction: `vfmadd231ph %zmm0,%zmm1,%zmm3'
      /tmp/ccnTf9ng.s:19215: Error: no such instruction: `vfmadd231ph %zmm0,%zmm1,%zmm2'
      /tmp/ccnTf9ng.s:19221: Error: no such instruction: `vaddph %ymm3,%ymm0,%ymm0'
      /tmp/ccnTf9ng.s:19224: Error: no such instruction: `vaddph %xmm0,%xmm1,%xmm0'
      /tmp/ccnTf9ng.s:19226: Error: no such instruction: `vaddph %xmm0,%xmm1,%xmm1'
      /tmp/ccnTf9ng.s:19228: Error: no such instruction: `vaddph %xmm1,%xmm0,%xmm0'
      /tmp/ccnTf9ng.s:19231: Error: no such instruction: `vaddph %ymm2,%ymm1,%ymm1'
      /tmp/ccnTf9ng.s:19235: Error: no such instruction: `vaddph %xmm1,%xmm2,%xmm2'
      /tmp/ccnTf9ng.s:19237: Error: no such instruction: `vaddph %xmm2,%xmm1,%xmm1'
      /tmp/ccnTf9ng.s:19239: Error: no such instruction: `vaddph %xmm1,%xmm2,%xmm2'
      /tmp/ccnTf9ng.s:19241: Error: no such instruction: `vaddsh %xmm1,%xmm3,%xmm3'
      /tmp/ccnTf9ng.s:19244: Error: no such instruction: `vaddsh %xmm2,%xmm0,%xmm6'
      /tmp/ccnTf9ng.s:19245: Error: no such instruction: `vmovw %xmm3,%esi'
      /tmp/ccnTf9ng.s:19247: Error: no such instruction: `vmovw %xmm6,%eax'
      /tmp/ccnTf9ng.s:19251: Error: no such instruction: `vcvtph2pd %xmm0,%xmm0'
      /tmp/ccnTf9ng.s:19264: Error: no such instruction: `vfmadd231ph %zmm0,%zmm1,%zmm3'
      /tmp/ccnTf9ng.s:19268: Error: no such instruction: `vfmadd231ph %zmm0,%zmm1,%zmm2'
      /tmp/ccnTf9ng.s:19297: Error: no such instruction: `vfmadd231ph %zmm3,%zmm4,%zmm2'
      /tmp/ccnTf9ng.s:19298: Error: no such instruction: `vfmadd231ph %zmm3,%zmm0,%zmm1'
      /tmp/ccnTf9ng.s:19304: Error: no such instruction: `vaddph %ymm2,%ymm0,%ymm0'
      /tmp/ccnTf9ng.s:19307: Error: no such instruction: `vaddph %xmm0,%xmm2,%xmm0'
      /tmp/ccnTf9ng.s:19309: Error: no such instruction: `vaddph %xmm0,%xmm2,%xmm2'
      /tmp/ccnTf9ng.s:19311: Error: no such instruction: `vaddph %xmm2,%xmm0,%xmm0'
      /tmp/ccnTf9ng.s:19314: Error: no such instruction: `vaddph %ymm1,%ymm2,%ymm1'
      /tmp/ccnTf9ng.s:19318: Error: no such instruction: `vaddph %xmm1,%xmm2,%xmm2'
      /tmp/ccnTf9ng.s:19320: Error: no such instruction: `vaddph %xmm2,%xmm1,%xmm1'
      /tmp/ccnTf9ng.s:19322: Error: no such instruction: `vaddph %xmm1,%xmm2,%xmm2'
      /tmp/ccnTf9ng.s:19324: Error: no such instruction: `vaddsh %xmm1,%xmm3,%xmm3'
      /tmp/ccnTf9ng.s:19327: Error: no such instruction: `vaddsh %xmm2,%xmm0,%xmm7'
      /tmp/ccnTf9ng.s:19328: Error: no such instruction: `vmovw %xmm3,%esi'
      /tmp/ccnTf9ng.s:19330: Error: no such instruction: `vmovw %xmm7,%eax'
      /tmp/ccnTf9ng.s:19334: Error: no such instruction: `vcvtph2pd %xmm0,%xmm0'
      /tmp/ccnTf9ng.s:19350: Error: no such instruction: `vfmadd231ph %zmm4,%zmm0,%zmm2'
      /tmp/ccnTf9ng.s:19351: Error: no such instruction: `vfmadd231ph %zmm4,%zmm3,%zmm1'
      /tmp/ccnTf9ng.s:19378: Error: no such instruction: `vdpbf16ps %zmm1,%zmm0,%zmm3'
      /tmp/ccnTf9ng.s:19381: Error: no such instruction: `vdpbf16ps %zmm1,%zmm0,%zmm2'
      /tmp/ccnTf9ng.s:19411: Error: no such instruction: `vdpbf16ps %zmm1,%zmm0,%zmm3'
      /tmp/ccnTf9ng.s:19415: Error: no such instruction: `vdpbf16ps %zmm1,%zmm0,%zmm2'
      /tmp/ccnTf9ng.s:19444: Error: no such instruction: `vdpbf16ps %zmm3,%zmm4,%zmm1'
      /tmp/ccnTf9ng.s:19445: Error: no such instruction: `vdpbf16ps %zmm3,%zmm0,%zmm2'
      /tmp/ccnTf9ng.s:19478: Error: no such instruction: `vdpbf16ps %zmm4,%zmm0,%zmm1'
      /tmp/ccnTf9ng.s:19479: Error: no such instruction: `vdpbf16ps %zmm4,%zmm3,%zmm2'
      /tmp/ccnTf9ng.s:20139: Error: no such instruction: `vaddph %zmm1,%zmm0,%zmm0'
      /tmp/ccnTf9ng.s:20157: Error: no such instruction: `vcvtsd2sh %xmm0,%xmm0,%xmm0'
      /tmp/ccnTf9ng.s:20158: Error: no such instruction: `vcvtsd2sh %xmm1,%xmm1,%xmm1'
      /tmp/ccnTf9ng.s:20173: Error: no such instruction: `vmulph %zmm3,%zmm0,%zmm3'
      /tmp/ccnTf9ng.s:20174: Error: no such instruction: `vfmadd132ph %zmm1,%zmm3,%zmm2'
      /tmp/ccnTf9ng.s:20187: Error: no such instruction: `vmulph %zmm3,%zmm0,%zmm0'
      /tmp/ccnTf9ng.s:20188: Error: no such instruction: `vfmadd132ph %zmm2,%zmm0,%zmm1'
      /tmp/ccnTf9ng.s:20200: Error: no such instruction: `vcvtsd2sh %xmm0,%xmm0,%xmm0'
      /tmp/ccnTf9ng.s:20212: Error: no such instruction: `vmulph %zmm1,%zmm0,%zmm1'
      /tmp/ccnTf9ng.s:20224: Error: no such instruction: `vmulph %zmm1,%zmm0,%zmm0'
      /tmp/ccnTf9ng.s:20235: Error: no such instruction: `vaddph %zmm1,%zmm0,%zmm0'
      /tmp/ccnTf9ng.s:20243: Error: no such instruction: `vcvtsd2sh %xmm1,%xmm1,%xmm1'
      /tmp/ccnTf9ng.s:20255: Error: no such instruction: `vmulph %zmm0,%zmm1,%zmm0'
      /tmp/ccnTf9ng.s:20267: Error: no such instruction: `vmulph %zmm0,%zmm1,%zmm1'
      /tmp/ccnTf9ng.s:20449: Error: no such instruction: `vsubph %zmm2,%zmm0,%zmm0'
      /tmp/ccnTf9ng.s:20450: Error: no such instruction: `vfmadd231ph %zmm0,%zmm0,%zmm1'
      /tmp/ccnTf9ng.s:20456: Error: no such instruction: `vaddph %ymm1,%ymm0,%ymm0'
      /tmp/ccnTf9ng.s:20459: Error: no such instruction: `vaddph %xmm0,%xmm1,%xmm1'
      /tmp/ccnTf9ng.s:20461: Error: no such instruction: `vaddph %xmm1,%xmm0,%xmm0'
      /tmp/ccnTf9ng.s:20463: Error: no such instruction: `vaddph %xmm0,%xmm1,%xmm1'
      /tmp/ccnTf9ng.s:20466: Error: no such instruction: `vaddsh %xmm1,%xmm0,%xmm0'
      /tmp/ccnTf9ng.s:20467: Error: no such instruction: `vcvtsh2ss %xmm0,%xmm0,%xmm0'
      /tmp/ccnTf9ng.s:20482: Error: no such instruction: `vsubph %zmm2,%zmm0,%zmm0'
      /tmp/ccnTf9ng.s:20483: Error: no such instruction: `vfmadd231ph %zmm0,%zmm0,%zmm1'
      /tmp/ccnTf9ng.s:20517: Error: no such instruction: `vdpbf16ps %zmm0,%zmm0,%zmm2'
      /tmp/ccnTf9ng.s:20573: Error: no such instruction: `vpdpwssd %zmm0,%zmm0,%zmm2'
      /tmp/ccnTf9ng.s:20606: Error: no such instruction: `vpdpwssd %zmm0,%zmm0,%zmm2'
      /tmp/ccnTf9ng.s:20653: Error: no such instruction: `vcvtsd2sh %xmm0,%xmm0,%xmm0'
      /tmp/ccnTf9ng.s:20654: Error: no such instruction: `vcvtsd2sh %xmm1,%xmm1,%xmm1'
      /tmp/ccnTf9ng.s:20673: Error: no such instruction: `vcvtw2ph %zmm3,%zmm3'
      /tmp/ccnTf9ng.s:20674: Error: no such instruction: `vcvtw2ph %zmm2,%zmm2'
      /tmp/ccnTf9ng.s:20675: Error: no such instruction: `vmulph %zmm3,%zmm5,%zmm3'
      /tmp/ccnTf9ng.s:20677: Error: no such instruction: `vmulph %zmm2,%zmm5,%zmm2'
      /tmp/ccnTf9ng.s:20678: Error: no such instruction: `vcvtw2ph %zmm1,%zmm1'
      /tmp/ccnTf9ng.s:20679: Error: no such instruction: `vcvtw2ph %zmm0,%zmm0'
      /tmp/ccnTf9ng.s:20680: Error: no such instruction: `vfmadd132ph %zmm4,%zmm3,%zmm1'
      /tmp/ccnTf9ng.s:20681: Error: no such instruction: `vfmadd132ph %zmm4,%zmm2,%zmm0'
      /tmp/ccnTf9ng.s:20682: Error: no such instruction: `vcvtph2w %zmm1,%zmm1'
      /tmp/ccnTf9ng.s:20683: Error: no such instruction: `vcvtph2w %zmm0,%zmm0'
      /tmp/ccnTf9ng.s:20705: Error: no such instruction: `vcvtsd2sh %xmm0,%xmm0,%xmm0'
      /tmp/ccnTf9ng.s:20719: Error: no such instruction: `vcvtw2ph %zmm2,%zmm2'
      /tmp/ccnTf9ng.s:20720: Error: no such instruction: `vcvtw2ph %zmm1,%zmm1'
      /tmp/ccnTf9ng.s:20721: Error: no such instruction: `vmulph %zmm2,%zmm0,%zmm2'
      /tmp/ccnTf9ng.s:20722: Error: no such instruction: `vmulph %zmm1,%zmm0,%zmm1'
      /tmp/ccnTf9ng.s:20723: Error: no such instruction: `vcvtph2w %zmm2,%zmm2'
      /tmp/ccnTf9ng.s:20724: Error: no such instruction: `vcvtph2w %zmm1,%zmm1'
      /tmp/ccnTf9ng.s:20741: Error: no such instruction: `vcvtw2ph %zmm1,%zmm1'
      /tmp/ccnTf9ng.s:20742: Error: no such instruction: `vcvtw2ph %zmm2,%zmm2'
      /tmp/ccnTf9ng.s:20743: Error: no such instruction: `vmulph %zmm0,%zmm2,%zmm2'
      /tmp/ccnTf9ng.s:20744: Error: no such instruction: `vmulph %zmm0,%zmm1,%zmm0'
      /tmp/ccnTf9ng.s:20745: Error: no such instruction: `vcvtph2w %zmm2,%zmm2'
      /tmp/ccnTf9ng.s:20746: Error: no such instruction: `vcvtph2w %zmm0,%zmm0'
      /tmp/ccnTf9ng.s:20767: Error: no such instruction: `vcvtsd2sh %xmm1,%xmm1,%xmm1'
      /tmp/ccnTf9ng.s:20781: Error: no such instruction: `vcvtw2ph %zmm2,%zmm2'
      /tmp/ccnTf9ng.s:20782: Error: no such instruction: `vcvtw2ph %zmm0,%zmm0'
      /tmp/ccnTf9ng.s:20783: Error: no such instruction: `vmulph %zmm2,%zmm1,%zmm2'
      /tmp/ccnTf9ng.s:20784: Error: no such instruction: `vmulph %zmm0,%zmm1,%zmm0'
      /tmp/ccnTf9ng.s:20785: Error: no such instruction: `vcvtph2w %zmm2,%zmm2'
      /tmp/ccnTf9ng.s:20786: Error: no such instruction: `vcvtph2w %zmm0,%zmm0'
      /tmp/ccnTf9ng.s:20803: Error: no such instruction: `vcvtw2ph %zmm0,%zmm0'
      /tmp/ccnTf9ng.s:20804: Error: no such instruction: `vcvtw2ph %zmm2,%zmm2'
      /tmp/ccnTf9ng.s:20805: Error: no such instruction: `vmulph %zmm0,%zmm1,%zmm0'
      /tmp/ccnTf9ng.s:20806: Error: no such instruction: `vmulph %zmm2,%zmm1,%zmm1'
      /tmp/ccnTf9ng.s:20807: Error: no such instruction: `vcvtph2w %zmm0,%zmm0'
      /tmp/ccnTf9ng.s:20808: Error: no such instruction: `vcvtph2w %zmm1,%zmm1'
      /tmp/ccnTf9ng.s:20934: Error: no such instruction: `vpdpwssd %zmm2,%zmm2,%zmm1'
      /tmp/ccnTf9ng.s:20936: Error: no such instruction: `vpdpwssd %zmm0,%zmm0,%zmm2'
      /tmp/ccnTf9ng.s:20976: Error: no such instruction: `vpdpwssd %zmm2,%zmm2,%zmm1'
      /tmp/ccnTf9ng.s:20978: Error: no such instruction: `vpdpwssd %zmm0,%zmm0,%zmm2'
      /tmp/ccnTf9ng.s:21461: Error: no such instruction: `vcvtsd2sh %xmm0,%xmm0,%xmm0'
      /tmp/ccnTf9ng.s:21462: Error: no such instruction: `vcvtsd2sh %xmm1,%xmm1,%xmm1'
      /tmp/ccnTf9ng.s:21481: Error: no such instruction: `vcvtw2ph %zmm3,%zmm3'
      /tmp/ccnTf9ng.s:21483: Error: no such instruction: `vcvtw2ph %zmm0,%zmm0'
      /tmp/ccnTf9ng.s:21484: Error: no such instruction: `vmulph %zmm3,%zmm4,%zmm3'
      /tmp/ccnTf9ng.s:21485: Error: no such instruction: `vcvtw2ph %zmm2,%zmm2'
      /tmp/ccnTf9ng.s:21487: Error: no such instruction: `vmulph %zmm2,%zmm4,%zmm2'
      /tmp/ccnTf9ng.s:21488: Error: no such instruction: `vcvtw2ph %zmm1,%zmm1'
      /tmp/ccnTf9ng.s:21489: Error: no such instruction: `vfmadd132ph %zmm5,%zmm3,%zmm0'
      /tmp/ccnTf9ng.s:21490: Error: no such instruction: `vfmadd132ph %zmm5,%zmm2,%zmm1'
      /tmp/ccnTf9ng.s:21491: Error: no such instruction: `vcvtph2w %zmm0,%zmm0'
      /tmp/ccnTf9ng.s:21493: Error: no such instruction: `vcvtph2w %zmm1,%zmm1'
      /tmp/ccnTf9ng.s:21515: Error: no such instruction: `vcvtsd2sh %xmm0,%xmm0,%xmm0'
      /tmp/ccnTf9ng.s:21530: Error: no such instruction: `vcvtw2ph %zmm1,%zmm1'
      /tmp/ccnTf9ng.s:21531: Error: no such instruction: `vcvtw2ph %zmm2,%zmm2'
      /tmp/ccnTf9ng.s:21532: Error: no such instruction: `vmulph %zmm1,%zmm0,%zmm1'
      /tmp/ccnTf9ng.s:21533: Error: no such instruction: `vmulph %zmm2,%zmm0,%zmm2'
      /tmp/ccnTf9ng.s:21534: Error: no such instruction: `vcvtph2w %zmm1,%zmm1'
      /tmp/ccnTf9ng.s:21536: Error: no such instruction: `vcvtph2w %zmm2,%zmm2'
      /tmp/ccnTf9ng.s:21566: Error: no such instruction: `vcvtsd2sh %xmm1,%xmm1,%xmm1'
      /tmp/ccnTf9ng.s:21581: Error: no such instruction: `vcvtw2ph %zmm0,%zmm0'
      /tmp/ccnTf9ng.s:21582: Error: no such instruction: `vcvtw2ph %zmm2,%zmm2'
      /tmp/ccnTf9ng.s:21583: Error: no such instruction: `vmulph %zmm0,%zmm1,%zmm0'
      /tmp/ccnTf9ng.s:21584: Error: no such instruction: `vmulph %zmm2,%zmm1,%zmm2'
      /tmp/ccnTf9ng.s:21585: Error: no such instruction: `vcvtph2w %zmm0,%zmm0'
      /tmp/ccnTf9ng.s:21587: Error: no such instruction: `vcvtph2w %zmm2,%zmm2'
      /tmp/ccnTf9ng.s:28675: Error: no such instruction: `vp2intersectd %zmm0,%zmm3,%k0'
      /tmp/ccnTf9ng.s:29479: Error: no such instruction: `vp2intersectd %zmm3,%zmm0,%k0'
      /tmp/ccnTf9ng.s:29861: Error: no such instruction: `vp2intersectd %zmm3,%zmm0,%k0'
      /tmp/ccnTf9ng.s:30249: Error: no such instruction: `vp2intersectd %zmm3,%zmm0,%k0'
      /tmp/ccnTf9ng.s:30650: Error: no such instruction: `vpshrdd $16,%zmm2,%zmm2,%zmm11'
      /tmp/ccnTf9ng.s:30651: Error: no such instruction: `vpshrdd $16,%zmm7,%zmm7,%zmm10'
      /tmp/ccnTf9ng.s:30652: Error: no such instruction: `vpshrdd $16,%zmm6,%zmm6,%zmm9'
      /tmp/ccnTf9ng.s:30653: Error: no such instruction: `vpshrdd $16,%zmm5,%zmm5,%zmm8'
      error: command '$HOME/tools/gcc-14.2.0/bin/gcc' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for simsimd
Failed to build simsimd
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (simsimd)

Is it caused by the incompability between gcc-14 and ubuntu 16.04?

@ashvardanian
Copy link
Owner

It looks like you are mixing a new compiler with old headers or old assembler in the second case. Might be just a misconfiguration issue on your end, @Fitzgera1d 🤗

@1015356144
Copy link

I have the same problem with u.
I am struggled with the second case.
Do u solve it now?
image

@dulayjm
Copy link

dulayjm commented Nov 4, 2024

Also have the same, if it's helpful, on any g5 EC2 or SageMaker instance. Reverting to an older version does not seem to fix.

@xiningnlp
Copy link

It looks like you are mixing a new compiler with old headers or old assembler in the second case. Might be just a misconfiguration issue on your end, @Fitzgera1d 🤗

@ashvardanian Hi ashvardanian, I also met the problems in "pip install", my gcc version is 14. Could you please tell me how to check if my gcc is running in mixing mode as you pointed out?

微信截图_20241105131207

@Sakura4036
Copy link

Need help! Same error in pip install simsimd and python setup.py install on Ubuntu 18.04 x86_64 python3.10 :

include/simsimd/probability.h: At top level:
include/simsimd/probability.h:508:9: error: attribute(target("avx512fp16")) is unknown
 #pragma GCC target("avx2", "avx512f", "avx512vl", "bmi2", "avx512fp16")
         ^~~
include/simsimd/probability.h:511:18: error: unknown type name ‘__m512h’
 SIMSIMD_INTERNAL __m512h _simsimd_log2_f16_sapphire(__m512h x) {
                  ^~~~~~~
include/simsimd/probability.h:511:53: error: unknown type name ‘__m512h’; did you mean ‘__m512d’?
 SIMSIMD_INTERNAL __m512h _simsimd_log2_f16_sapphire(__m512h x) {
                                                     ^~~~~~~
                                                     __m512d
include/simsimd/probability.h: In function ‘simsimd_kl_f16_sapphire’:
include/simsimd/probability.h:530:5: error: unknown type name ‘__m512h’; did you mean ‘__m512d’?
     __m512h sum_vec = _mm512_setzero_ph();
     ^~~~~~~
     __m512d
include/simsimd/probability.h:531:5: error: unknown type name ‘__m512h’; did you mean ‘__m512d’?
     __m512h epsilon_vec = _mm512_set1_ph((simsimd_f16_t)SIMSIMD_F16_DIVISION_EPSILON);
     ^~~~~~~
     __m512d
include/simsimd/probability.h:532:5: error: unknown type name ‘__m512h’; did you mean ‘__m512d’?
     __m512h a_vec, b_vec;
     ^~~~~~~
     __m512d
include/simsimd/probability.h:546:5: error: unknown type name ‘__m512h’; did you mean ‘__m512d’?
     __m512h ratio_vec = _mm512_div_ph(a_vec, b_vec);
     ^~~~~~~
     __m512d
include/simsimd/probability.h:547:5: error: unknown type name ‘__m512h’; did you mean ‘__m512d’?
     __m512h log_ratio_vec = _simsimd_log2_f16_sapphire(ratio_vec);
     ^~~~~~~
     __m512d
include/simsimd/probability.h:548:5: error: unknown type name ‘__m512h’; did you mean ‘__m512d’?
     __m512h prod_vec = _mm512_mul_ph(a_vec, log_ratio_vec);
     ^~~~~~~
     __m512d
include/simsimd/probability.h: In function ‘simsimd_js_f16_sapphire’:
include/simsimd/probability.h:558:5: error: unknown type name ‘__m512h’; did you mean ‘__m512d’?
     __m512h sum_a_vec = _mm512_setzero_ph();
     ^~~~~~~
     __m512d
include/simsimd/probability.h:559:5: error: unknown type name ‘__m512h’; did you mean ‘__m512d’?
     __m512h sum_b_vec = _mm512_setzero_ph();
     ^~~~~~~
     __m512d
include/simsimd/probability.h:560:5: error: unknown type name ‘__m512h’; did you mean ‘__m512d’?
     __m512h epsilon_vec = _mm512_set1_ph((simsimd_f16_t)SIMSIMD_F16_DIVISION_EPSILON);
     ^~~~~~~
     __m512d
include/simsimd/probability.h:561:5: error: unknown type name ‘__m512h’; did you mean ‘__m512d’?
     __m512h a_vec, b_vec;
     ^~~~~~~
     __m512d
include/simsimd/probability.h:575:5: error: unknown type name ‘__m512h’; did you mean ‘__m512d’?
     __m512h m_vec = _mm512_mul_ph(_mm512_add_ph(a_vec, b_vec), _mm512_set1_ph((simsimd_f16_t)0.5f));
     ^~~~~~~
     __m512d
include/simsimd/probability.h:579:5: error: unknown type name ‘__m512h’; did you mean ‘__m512d’?
     __m512h m_recip_approx = _mm512_rcp_ph(m_vec);
     ^~~~~~~
     __m512d
include/simsimd/probability.h:580:5: error: unknown type name ‘__m512h’; did you mean ‘__m512d’?
     __m512h ratio_a_vec = _mm512_mul_ph(a_vec, m_recip_approx);
     ^~~~~~~
     __m512d
include/simsimd/probability.h:581:5: error: unknown type name ‘__m512h’; did you mean ‘__m512d’?
     __m512h ratio_b_vec = _mm512_mul_ph(b_vec, m_recip_approx);
     ^~~~~~~
     __m512d
include/simsimd/probability.h:582:5: error: unknown type name ‘__m512h’; did you mean ‘__m512d’?
     __m512h log_ratio_a_vec = _simsimd_log2_f16_sapphire(ratio_a_vec);
     ^~~~~~~
     __m512d
include/simsimd/probability.h:583:5: error: unknown type name ‘__m512h’; did you mean ‘__m512d’?
     __m512h log_ratio_b_vec = _simsimd_log2_f16_sapphire(ratio_b_vec);
     ^~~~~~~
     __m512d
In file included from include/simsimd/simsimd.h:111:0,
                 from c/lib.c:48:
include/simsimd/sparse.h: At top level:
include/simsimd/sparse.h:277:9: error: attribute(target("avx512vbmi2")) is unknown
 #pragma GCC target("avx2", "avx512f", "avx512vl", "bmi2", "lzcnt", "popcnt", "avx512bw", "avx512vbmi2")
         ^~~
include/simsimd/sparse.h: In function ‘_simsimd_intersect_u16x32_ice’:
include/simsimd/sparse.h:294:19: error: incompatible types when initializing type ‘__m512i {aka __vector(8) long long int}’ using type ‘int’
     __m512i b01 = _mm512_shrdi_epi32(b, b, 16);
                   ^~~~~~~~~~~~~~~~~~
include/simsimd/sparse.h:295:19: error: incompatible types when initializing type ‘__m512i {aka __vector(8) long long int}’ using type ‘int’
     __m512i b11 = _mm512_shrdi_epi32(b1, b1, 16);
                   ^~~~~~~~~~~~~~~~~~
include/simsimd/sparse.h:296:19: error: incompatible types when initializing type ‘__m512i {aka __vector(8) long long int}’ using type ‘int’
     __m512i b21 = _mm512_shrdi_epi32(b2, b2, 16);
                   ^~~~~~~~~~~~~~~~~~
include/simsimd/sparse.h:297:19: error: incompatible types when initializing type ‘__m512i {aka __vector(8) long long int}’ using type ‘int’
     __m512i b31 = _mm512_shrdi_epi32(b3, b3, 16);
                   ^~~~~~~~~~~~~~~~~~
include/simsimd/sparse.h: At top level:
include/simsimd/sparse.h:529:9: error: attribute(target("avx512vbmi2")) is unknown
 #pragma GCC target("avx2", "avx512f", "avx512vl", "bmi2", "lzcnt", "popcnt", "avx512bw", "avx512vbmi2", "avx512bf16", \
         ^~~
include/simsimd/sparse.h:529:9: error: attribute(target("avx512bf16")) is unknown
include/simsimd/sparse.h:529:9: error: attribute(target("avx512vnni")) is unknown
include/simsimd/sparse.h:529:9: error: attribute(target("avx512vp2intersect")) is unknown
include/simsimd/sparse.h: In function ‘simsimd_spdot_weights_u16_turin’:
include/simsimd/sparse.h:739:27: error: incompatible types when assigning to type ‘__m256i {aka __vector(4) long long int}’ from type ‘int’
             a_weights_vec = _mm256_maskz_compress_epi16(a_matches_any_in_b, a_weights_vec);
                           ^
include/simsimd/sparse.h:741:27: error: incompatible types when assigning to type ‘__m256i {aka __vector(4) long long int}’ from type ‘int’
             b_weights_vec = _mm256_maskz_compress_epi16(b_matches_any_in_a, b_weights_vec);
                           ^
include/simsimd/sparse.h:742:70: error: ‘__m256bh’ undeclared (first use in this function); did you mean ‘__m256_u’?
             product_vec.ymmps = _mm256_dpbf16_ps(product_vec.ymmps, (__m256bh)a_weights_vec, (__m256bh)b_weights_vec);
                                                                      ^~~~~~~~
                                                                      __m256_u
include/simsimd/sparse.h:742:79: error: expected ‘)’ before ‘a_weights_vec’
             product_vec.ymmps = _mm256_dpbf16_ps(product_vec.ymmps, (__m256bh)a_weights_vec, (__m256bh)b_weights_vec);
                                                                               ^~~~~~~~~~~~~
include/simsimd/sparse.h: In function ‘simsimd_spdot_counts_u16_turin’:
include/simsimd/sparse.h:824:27: error: incompatible types when assigning to type ‘__m256i {aka __vector(4) long long int}’ from type ‘int’
             a_weights_vec = _mm256_maskz_compress_epi16(a_matches_any_in_b, a_weights_vec);
                           ^
include/simsimd/sparse.h:826:27: error: incompatible types when assigning to type ‘__m256i {aka __vector(4) long long int}’ from type ‘int’
             b_weights_vec = _mm256_maskz_compress_epi16(b_matches_any_in_a, b_weights_vec);
                           ^
include/simsimd/sparse.h:827:29: error: incompatible types when assigning to type ‘__m256i {aka __vector(4) long long int}’ from type ‘int’
             product_vec.ymm = _mm256_dpwssds_epi32(product_vec.ymm, a_weights_vec, b_weights_vec);
                             ^
In file included from include/simsimd/curved.h:29:0,
                 from include/simsimd/simsimd.h:106,
                 from c/lib.c:48:
include/simsimd/spatial.h: In function ‘_simsimd_substract_bf16x32_genoa’:
include/simsimd/spatial.h:1676:26: note: The ABI for passing parameters with 64-byte alignment has changed in GCC 4.6
 SIMSIMD_INTERNAL __m512i _simsimd_substract_bf16x32_genoa(__m512i a_i16, __m512i b_i16) {
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
error: command '/usr/bin/gcc' failed with exit code 1

@ashvardanian
Copy link
Owner

@Sakura4036, you are using a very old compiler. Try installing a more recent one, and then using it as the default:

sudo apt-get update
sudo apt-get install gcc-12
export CC=gcc-12
pip install simsimd

@gsy1519
Copy link

gsy1519 commented Nov 10, 2024

It looks like you are mixing a new compiler with old headers or old assembler in the second case. Might be just a misconfiguration issue on your end, @Fitzgera1d 🤗

I have encountered the same problem. Old assembler like binutils=2.30 does not work, so I tried binutils=2.40 then the problem solved.

@frxg0918
Copy link

For me, my linux glibc is only 2.27, and some package(albucore==0.0.20) in my env needs simsimd>=5.9.2, which has .whl only for glibc>=2.28. So I downgrade albucore==0.0.19. It works. So might be your glibc version does not match simsimd's requrement.

@JW3247
Copy link

JW3247 commented Nov 18, 2024

For me, my linux glibc is only 2.27, and some package(albucore==0.0.20) in my env needs simsimd>=5.9.2, which has .whl only for glibc>=2.28. So I downgrade albucore==0.0.19. It works. So might be your glibc version does not match simsimd's requrement.

Thank u, this solved my problem!!

@lixiaoxiangzhi
Copy link

gcc-14、 Binutils 2.40 and glibc>2.28 can solved the problem.

@youxiaoxing
Copy link

(insightface) ➜ ~ conda list | grep binutils
binutils 2.43 h4852527_2 conda-forge
binutils_impl_linux-64 2.43 h4bf12b8_2 conda-forge

conda install binutils==2.4.3 solved my problem

@lixiaoxiangzhi
Copy link

lixiaoxiangzhi commented Nov 29, 2024 via email

@x18-1
Copy link

x18-1 commented Jan 2, 2025

Hmm, I didn't have sudo privileges。What can I do.I have tried conda install binutils==2.4.3 ,didn't work

@lixiaoxiangzhi
Copy link

lixiaoxiangzhi commented Jan 2, 2025 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests