[PATCH] std::experimental::simd
Thomas Rodgers
trodgers@redhat.com
Mon Feb 10 20:14:00 GMT 2020
Erk, that was intended as a private reply.
Thomak Rodgers writes:
> Catching up on this...(and since I'm not in Prague I won't be able to do so in person).
>
> I finally got a chance to talk with Jeff Law recently about a more extensive testing strategy using Red Hat internal resources, and I am going to start working on
> adapting his CI build scripts that drive checking out machines from our lab environment starting later this week.
>
> Jonathan indicated you may have a newer version of your <simd> patch forthcoming? Is that something that's likely to happen before the end of this month? I'd
> like to work on getting start working on getting <simd> in during stage4 (Jonathan is willing to accept it because it is experimental as long as it is in
> good shape to commit).
>
> Thanks,
> Tom.
>
>
> ----- Original Message -----
> From: "Dr. Matthias Kretz" <m.kretz@gsi.de>
> To: trodgers@redhat.com
> Cc: libstdc++@gcc.gnu.org
> Sent: Thursday, October 24, 2019 1:26:47 AM
> Subject: Re: [PATCH] std::experimental::simd
>
> On Montag, 14. Oktober 2019 14:12:12 CEST Matthias Kretz wrote:
>> This patch is without documentation and testsuite. I can add them on request
>> but would prefer a follow-up patch after getting this one right.
>
> Regarding tests, here's what I think a "consumer test" should cover:
>
> 1. compiler flags
> - `-march=native -O2`
>
> 2. element types
> - char
> - uint8_t
> - int
> - float
> - double
>
> 3. operations
> - broadcast ctor
> - generator ctor
> - all operators
> - compares
> - mask reductions
> - non-converting loads & stores
> - non-converting masked loads & stores
> - horizontal reductions
> - math: 1024 input values, comparing fun(T) against fun(simd<T>)
> - conversions:
> * char <-> int
> * uint8_t <-> int
> * uint8_t <-> float
> * int <-> float
> * int <-> double
> * float <-> double
>
> 4. ABI tags:
> - scalar
> - fixed_size<{2, 3, 4, 6, 8, 12, 16, 32}>
> - deduce_t<T, {2, 3, 4, 6, 8, 12, 16, 32}> (if different from fixed_size)
> - deduce_t<T, 64> for AVX512BW targets
> - compatible (if different from above)
> - native (if different from above)
>
> Note that 1-4 are orthogonal and already span a huge space. I'm sure we need
> to reduce this list, not expand.
More information about the Libstdc++
mailing list