By: Jukka Larja (roskakori2006.delete@this.gmail.com), October 31, 2020 8:14 am
Room: Moderated Discussions
hobold (hobold.delete@this.vectorizer.org) on October 31, 2020 6:54 am wrote:
> Jukka Larja (roskakori2006.delete@this.gmail.com) on October 30, 2020 9:04 pm wrote:
> [...]
> > Anyway, the fact that even AVX (non-2) on many CPUs offers twice the bandwidth, yet gathers no interest
> > from game developers, just points more directly that SIMD extensions aren't interesting in the field.
>
> In my absolutely not humble opinion, there needs to be a syntax more convenient than the existing
> intrinsics. Something like GCC's generic vector facility: GCC vector extensions.
>
> If I have to (syntactically) write a function call even for a simple arithmetic operation, and if I have
> to manually fuse multiply-adds, then the code is so much hassle to maintain, that I will do it only for
> functions that _never_ change after deployment. That would be basic linear algebra, and not much else.
>
> As far as I know there is work being done to include something like std::simd in future
> C++ standards. That might bring enough practical usability for all those SIMD ISAs.
I'm not sure what std::simd would include, but at least on a quick glance I don't see GCC's extensions would matter at all for us. It's not like writing a wrapper of our own (for (S)SSE(2/3) and Neon) was all that difficult or took a lot of time. The problem is that we don't have much code that could make use of such abstraction (actually, we mostly use four wide float vectors as direct replacement of three wide float vectors. We can't even make use of the last item).
I'm sure there are some places where rethinking data structures or algorithms could allow making use of SIMD, but if we were to go through the trouble, we'd consider using GPU first. After that consideration, there's practically nothing left.
-JLarja
> Jukka Larja (roskakori2006.delete@this.gmail.com) on October 30, 2020 9:04 pm wrote:
> [...]
> > Anyway, the fact that even AVX (non-2) on many CPUs offers twice the bandwidth, yet gathers no interest
> > from game developers, just points more directly that SIMD extensions aren't interesting in the field.
>
> In my absolutely not humble opinion, there needs to be a syntax more convenient than the existing
> intrinsics. Something like GCC's generic vector facility: GCC vector extensions.
>
> If I have to (syntactically) write a function call even for a simple arithmetic operation, and if I have
> to manually fuse multiply-adds, then the code is so much hassle to maintain, that I will do it only for
> functions that _never_ change after deployment. That would be basic linear algebra, and not much else.
>
> As far as I know there is work being done to include something like std::simd in future
> C++ standards. That might bring enough practical usability for all those SIMD ISAs.
I'm not sure what std::simd would include, but at least on a quick glance I don't see GCC's extensions would matter at all for us. It's not like writing a wrapper of our own (for (S)SSE(2/3) and Neon) was all that difficult or took a lot of time. The problem is that we don't have much code that could make use of such abstraction (actually, we mostly use four wide float vectors as direct replacement of three wide float vectors. We can't even make use of the last item).
I'm sure there are some places where rethinking data structures or algorithms could allow making use of SIMD, but if we were to go through the trouble, we'd consider using GPU first. After that consideration, there's practically nothing left.
-JLarja
Topic | Posted By | Date |
---|---|---|
Expiry of x86-64 patents | Beastian | 2019/04/19 08:05 AM |
Expiry of x86-64 patents | Gian-Carlo Pascutto | 2019/04/19 08:46 AM |
Expiry of x86-64 patents | Beastian | 2019/04/19 09:06 AM |
Expiry of x86-64 patents | Jukka Larja | 2019/04/19 09:44 AM |
Expiry of x86-64 patents | Gian-Carlo Pascutto | 2019/04/19 10:12 AM |
Expiry of x86-64 patents | Jukka Larja | 2019/04/19 11:41 AM |
Expiry of x86-64 patents | Robert Williams | 2019/04/19 12:18 PM |
Expiry of x86-64 patents | Gian-Carlo Pascutto | 2019/04/19 01:35 PM |
Expiry of x86-64 patents | IntelUser2000 | 2020/10/30 01:17 AM |
Expiry of x86-64 patents | Jukka Larja | 2020/10/30 06:49 AM |
Expiry of x86-64 patents | me | 2020/10/30 08:47 AM |
Expiry of x86-64 patents | Jukka Larja | 2020/10/30 08:52 AM |
Expiry of x86-64 patents | Mark Roulo | 2020/10/30 09:21 AM |
Expiry of x86-64 patents | Jukka Larja | 2020/10/30 10:29 AM |
Expiry of x86-64 patents | Mark Roulo | 2020/10/30 10:42 AM |
Expiry of x86-64 patents | Jukka Larja | 2020/10/30 08:04 PM |
SIMD syntax | hobold | 2020/10/31 05:54 AM |
SIMD syntax | Jukka Larja | 2020/10/31 08:14 AM |
SIMD syntax | hobold | 2020/11/01 07:22 AM |
SIMD syntax | Jukka Larja | 2020/11/01 10:11 AM |
SIMD syntax | hobold | 2020/11/02 04:33 AM |
Expiry of x86-64 patents | me | 2020/10/31 02:01 PM |
Expiry of x86-64 patents | Jukka Larja | 2020/10/31 08:23 PM |
Expiry of x86-64 patents | Foo_ | 2020/11/01 03:48 AM |
Expiry of x86-64 patents | Jukka Larja | 2020/11/01 06:01 AM |
Expiry of x86-64 patents | Adrian | 2020/10/30 11:02 AM |
Expiry of x86-64 patents | Bigos | 2020/10/30 12:20 PM |
Expiry of x86-64 patents | Geoff Langdale | 2019/04/19 01:52 PM |
Expiry of x86-64 patents | Jukka Larja | 2019/04/19 08:38 PM |
Expiry of x86-64 patents | Yuhong Bao | 2019/04/20 01:35 PM |
Expiry of x86-64 patents | Doug S | 2019/04/19 09:40 AM |
Expiry of x86-64 patents | Beastian | 2019/04/19 10:10 AM |
Expiry of x86-64 patents | Robert Williams | 2019/04/20 07:15 AM |
Expiry of x86-64 patents | Robert Williams | 2020/10/28 05:42 AM |
Expiry of x86-64 patents | anyone | 2019/04/20 06:11 AM |
Expiry of x86-64 patents | Groo | 2019/04/20 06:29 AM |
Expiry of x86-64 patents | wumpus | 2019/04/20 07:32 AM |
Expiry of x86-64 patents | blaine | 2020/10/30 11:03 AM |
Expiry of x86-64 patents | David Kanter | 2020/10/30 07:59 PM |
Intel vs AMD patents | Yuhong Bao | 2019/04/20 01:32 PM |
Intel vs AMD patents | Beastian | 2019/04/20 02:35 PM |
Expiry of x86-64 patents | Travis Downs | 2019/04/20 06:24 PM |
Expiry of x86-64 patents | none | 2019/04/21 06:36 AM |
Expiry of x86-64 patents | somebody | 2019/11/27 09:44 AM |
Expiry of x86-64 patents | Anon3 | 2019/11/27 04:16 PM |
Expiry of x86-64 patents | Travis Downs | 2019/11/27 05:17 PM |
Expiry of x86-64 patents | Montaray Jack | 2019/11/27 11:03 PM |
Expiry of x86-64 patents | none | 2019/11/28 12:57 AM |
Expiry of x86-64 patents | dmcq | 2019/11/28 10:20 AM |
Expiry of x86-64 patents | Montaray Jack | 2019/11/29 04:00 AM |