Re: [Help] Could someone please have a look at gmap build failure

"Michael R. Crusoe" <[email protected]>
Newsgroups gmane.linux.debian.devel.medical
Message-ID <CALUsORrY8Ub6B=ACVJ=Wa1p46mUOHEQe3vj9RefY_rLYTxWuXA@mail.gmail.com>
Thanks César; I've done much of this already. I'll push my changes shortly
(testing the AVX512 level now)

On Thu, Jul 13, 2023 at 9:49 AM César Pomar <[email protected]> wrote:

> Hi,
>
> I think the same way. The code has multiple levels of vector extensions:
> SSE2, SSE3, AVX... AVX512. The code has macros to define the data types
> according to the selected extension. It's very possible that they focused
> on SSE3 or AVX (which are already the minimum supported by any machine) and
> neglected to test SSE2.
>
> I can also take a look. Additionally, since it supports up to AVX512, it
> would be good to create multiple binaries (as we did in VeryFastTree) with
> different levels so that modern hardware can take advantage of them while
> preserving compatibility.
>
> El jue, 13 jul 2023 a las 9:36, Michael R. Crusoe (<
> [email protected]>) escribió:
>
>> The real error is at
>>
>> gcc -DHAVE_CONFIG_H -I.   -Wdate-time -D_FORTIFY_SOURCE=2   -DTARGET=\"x86_64-pc-linux-gnu\" -DGMAPDB=\"/var/cache/gmap\" -DGSNAP=1 -mpopcnt -DHAVE_SSE2=1 -msse2 -mno-ssse3 -mno-sse4.1 -mno-sse4.2 -mno-avx2 -g -O2 -ffile-prefix-map=/builds/med-team/gmap/debian/output/source_dir=. -fstack-protector-strong -Wformat -Werror=format-security -c -o gsnap_sse2-intersect-uint2.o `test -f 'intersect-uint2.c' || echo './'`intersect-uint2.c
>> intersect-simd.c: In function 'v1':
>> intersect-simd.c:242:8: warning: implicit declaration of function '_mm_lddqu_si128'; did you mean '_mm_loadu_si128'? [-Wimplicit-function-declaration]
>>   242 |   F0 = _mm_lddqu_si128((const __m128i *)(freq));
>>       |        ^~~~~~~~~~~~~~~
>>       |        _mm_loadu_si128
>>
>> I don't think upstream tested the SSE2 build recently; I'm looking at this now
>>
>>
>> On Wed, Jul 12, 2023 at 2:01 PM Andreas Tille <[email protected]> wrote:
>>
>>> Hi,
>>>
>>> I admit I'm bad in such hardware internals that seem to break the
>>> build of gmap:
>>>
>>> intersect-uint2.c:409:21: error: incompatible types when initializing
>>> type '__m128i' using type 'int'
>>>   409 |         __m128i p = _mm_shuffle_epi8(v_a, * (__m128i *)
>>> &(shuffle_mask16[r*16]));
>>>       |                     ^~~~~~~~~~~~~~~~
>>> intersect-uint2.c:427:17: error: incompatible types when assigning to
>>> type '__m128i' from type 'int'
>>>   427 |           v_b = _mm_lddqu_si128((const __m128i *) &B[i_b]);
>>>       |                 ^~~~~~~~~~~~~~~
>>>
>>> See
>>>    https://salsa.debian.org/med-team/gmap/-/jobs/4423598
>>> for the full build log.
>>>
>>> Any help would be welcome
>>>     Andreas.
>>>
>>> --
>>> http://fam-tille.de
>>>
>>>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.