Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.arch > #116143

Re: Sane(r) SIMD

From Stefan Monnier <monnier@iro.umontreal.ca>
Newsgroups comp.arch
Subject Re: Sane(r) SIMD
Date 2026-04-26 18:30 -0400
Organization A noiseless patient Spider
Message-ID <jwvh5oxfjza.fsf-monnier+comp.arch@gnu.org> (permalink)
References <10skp8m$1h03m$1@dont-email.me> <10slhta$1oene$1@dont-email.me>

Show all headers | View raw


BGB [2026-04-26 12:27:06] wrote:
> On 4/26/2026 5:26 AM, Thomas Koenig wrote:
[...]
>> However, there are use cases which VVM or similar systems do not
>> cover. The main one are is in-register permutes (aka shuffles)
>> which do not go through memory.  These can offer significant speed
>> advantages (as in factors) for performance-critical code.  Such
[...]
> One practical limit IMO is:
> Don't go wider than 4 elements (without a very good reason or in very
> special cases).

My understanding is that it might be worth distinguishing the case of
SIMD used for "tuples" and SIMD used for "arrays":

- By "tuples" I mean data that is inherently of fixed size, such as the
  3 or 4 element vectors used to represent a point in #3 space, where
  each element has a specific role.
  SSE/AVX approaches seem to work OK for such data, maybe better than vVM.
  Not sure how much shuffle they may need.

- By "arrays", I mean data of a size that can be much larger than 3-4
  elements and which often/usually varies dynamically.
  When handling such data, SSE/AVX need to wrap the SIMD instructions
  inside loops.  vVM should handle that much better in most cases.

For the arrays case, it might be worth thinking about what kind of
shuffle is needed and why.  IIUC the shuffle is not needed over the
whole array.  Instead, it shows up for example when you do a reduction
on the array and after doing a fast traversal of the array you end up
with N partial-reduction results and the shuffles are needed to do the
remaining log N steps to combine those N results.

What other cases of shuffles show up?
What would be the best way to handle them?

On a related note, I'd love to see papers that try to reproduce in
a "normal vector CPU" the behavior of GPUs: in many ways a "warp"
corresponds to a set of vectors and the control flow of SIMT warps could
be represented as mask bitvectors, but then there's the automatic
scheduling/switching between warps, plus all kinds of other details
where the mapping between GPUs and vector CPUs doesn't seem so obvious.


=== Stefan

Back to comp.arch | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Sane(r) SIMD Thomas Koenig <tkoenig@netcologne.de> - 2026-04-26 10:26 +0000
  Re: Sane(r) SIMD BGB <cr88192@gmail.com> - 2026-04-26 12:27 -0500
    Re: Sane(r) SIMD Thomas Koenig <tkoenig@netcologne.de> - 2026-04-26 19:07 +0000
    Re: Sane(r) SIMD Stefan Monnier <monnier@iro.umontreal.ca> - 2026-04-26 18:30 -0400
      Re: Sane(r) SIMD BGB <cr88192@gmail.com> - 2026-04-27 13:58 -0500
      Re: Sane(r) SIMD MitchAlsup <user5857@newsgrouper.org.invalid> - 2026-04-27 19:42 +0000
        Re: Sane(r) SIMD BGB <cr88192@gmail.com> - 2026-04-27 16:42 -0500
      Re: Sane(r) SIMD Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-04-28 05:46 +0000
  Re: Sane(r) SIMD MitchAlsup <user5857@newsgrouper.org.invalid> - 2026-04-26 18:25 +0000
    Re: Sane(r) SIMD Thomas Koenig <tkoenig@netcologne.de> - 2026-04-26 19:38 +0000
      Re: Sane(r) SIMD MitchAlsup <user5857@newsgrouper.org.invalid> - 2026-04-26 21:27 +0000
        Re: Sane(r) SIMD Thomas Koenig <tkoenig@netcologne.de> - 2026-04-27 05:42 +0000
          Re: Sane(r) SIMD MitchAlsup <user5857@newsgrouper.org.invalid> - 2026-04-27 19:22 +0000
            Re: Sane(r) SIMD Thomas Koenig <tkoenig@netcologne.de> - 2026-04-27 20:22 +0000
              Re: Sane(r) SIMD BGB <cr88192@gmail.com> - 2026-04-27 17:39 -0500
              Re: Sane(r) SIMD MitchAlsup <user5857@newsgrouper.org.invalid> - 2026-04-28 00:03 +0000
    Re: Sane(r) SIMD anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2026-04-27 06:56 +0000
      Re: Sane(r) SIMD Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-04-27 08:48 +0000
        Re: Sane(r) SIMD Michael S <already5chosen@yahoo.com> - 2026-04-27 12:23 +0300
          Re: Sane(r) SIMD Michael S <already5chosen@yahoo.com> - 2026-04-27 17:11 +0300
          Re: Sane(r) SIMD MitchAlsup <user5857@newsgrouper.org.invalid> - 2026-04-27 19:32 +0000
            Re: Sane(r) SIMD Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-04-27 21:54 +0000
              Re: Sane(r) SIMD MitchAlsup <user5857@newsgrouper.org.invalid> - 2026-04-28 00:11 +0000
                Re: Sane(r) SIMD Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-04-28 01:17 +0000
                Re: Sane(r) SIMD MitchAlsup <user5857@newsgrouper.org.invalid> - 2026-04-28 18:03 +0000
            Re: Sane(r) SIMD Michael S <already5chosen@yahoo.com> - 2026-04-28 14:36 +0300
              Re: Sane(r) SIMD MitchAlsup <user5857@newsgrouper.org.invalid> - 2026-04-28 17:45 +0000
                Re: Sane(r) SIMD Terje Mathisen <terje.mathisen@tmsw.no> - 2026-04-30 10:02 +0200
          Re: Sane(r) SIMD BGB <cr88192@gmail.com> - 2026-04-27 15:55 -0500
      Re: Sane(r) SIMD BGB <cr88192@gmail.com> - 2026-04-27 15:27 -0500
  Re: Sane(r) SIMD Terje Mathisen <terje.mathisen@tmsw.no> - 2026-04-27 18:47 +0200
    Re: Sane(r) SIMD Thomas Koenig <tkoenig@netcologne.de> - 2026-04-27 20:02 +0000
      Re: Sane(r) SIMD Terje Mathisen <terje.mathisen@tmsw.no> - 2026-04-30 14:36 +0200
        Re: Sane(r) SIMD Stephen Fuld <sfuld@alumni.cmu.edu.invalid> - 2026-04-30 10:35 -0700
          Re: Sane(r) SIMD MitchAlsup <user5857@newsgrouper.org.invalid> - 2026-04-30 17:51 +0000
            Re: Sane(r) SIMD scott@slp53.sl.home (Scott Lurndal) - 2026-04-30 18:16 +0000
              Re: Sane(r) SIMD MitchAlsup <user5857@newsgrouper.org.invalid> - 2026-05-01 00:28 +0000
              Re: Sane(r) SIMD anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2026-05-01 07:48 +0000
                Re: Sane(r) SIMD Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-05-01 08:14 +0000
                Re: Sane(r) SIMD George Neuner <gneuner2@comcast.net> - 2026-05-02 00:59 -0400
        Matmul in VVM (was: Sane(r) SIMD) Thomas Koenig <tkoenig@netcologne.de> - 2026-05-01 10:21 +0000
          Re: Matmul in VVM (was: Sane(r) SIMD) MitchAlsup <user5857@newsgrouper.org.invalid> - 2026-05-01 21:48 +0000
            Re: Matmul in VVM (was: Sane(r) SIMD) MitchAlsup <user5857@newsgrouper.org.invalid> - 2026-05-02 02:10 +0000
              Re: Matmul in VVM (was: Sane(r) SIMD) Thomas Koenig <tkoenig@netcologne.de> - 2026-05-02 08:32 +0000
                Re: Matmul in VVM (was: Sane(r) SIMD) MitchAlsup <user5857@newsgrouper.org.invalid> - 2026-05-02 18:46 +0000
                Re: Matmul in VVM (was: Sane(r) SIMD) Thomas Koenig <tkoenig@netcologne.de> - 2026-05-03 07:33 +0000
                Re: Matmul in VVM (was: Sane(r) SIMD) Michael S <already5chosen@yahoo.com> - 2026-05-03 11:13 +0300
                Re: Matmul in VVM (was: Sane(r) SIMD) MitchAlsup <user5857@newsgrouper.org.invalid> - 2026-05-03 22:28 +0000
                Re: Matmul in VVM (was: Sane(r) SIMD) Thomas Koenig <tkoenig@netcologne.de> - 2026-05-10 06:55 +0000
                Re: Matmul in VVM (was: Sane(r) SIMD) MitchAlsup <user5857@newsgrouper.org.invalid> - 2026-05-10 17:28 +0000
                Re: Matmul in VVM Stefan Monnier <monnier@iro.umontreal.ca> - 2026-05-10 16:15 -0400
                Re: Matmul in VVM Stephen Fuld <sfuld@alumni.cmu.edu.invalid> - 2026-05-10 08:58 -0700
                Re: Matmul in VVM Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-05-12 02:17 +0000
                Re: Matmul in VVM Stephen Fuld <sfuld@alumni.cmu.edu.invalid> - 2026-05-11 20:11 -0700
                Re: Matmul in VVM anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2026-05-12 05:14 +0000
                Re: Matmul in VVM Stephen Fuld <sfuld@alumni.cmu.edu.invalid> - 2026-05-11 23:11 -0700
                Re: Matmul in VVM anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2026-05-12 07:23 +0000
                Re: Matmul in VVM MitchAlsup <user5857@newsgrouper.org.invalid> - 2026-05-12 18:16 +0000
                Re: Matmul in VVM anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2026-05-14 08:05 +0000
                Re: Matmul in VVM MitchAlsup <user5857@newsgrouper.org.invalid> - 2026-05-14 18:20 +0000
                Re: Matmul in VVM Stephen Fuld <sfuld@alumni.cmu.edu.invalid> - 2026-05-13 09:09 -0700
                Re: Matmul in VVM anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2026-05-13 17:55 +0000
                Re: Matmul in VVM MitchAlsup <user5857@newsgrouper.org.invalid> - 2026-05-13 20:46 +0000
                Re: Matmul in VVM scott@slp53.sl.home (Scott Lurndal) - 2026-05-12 14:33 +0000
                Re: Matmul in VVM MitchAlsup <user5857@newsgrouper.org.invalid> - 2026-05-12 18:23 +0000
                Re: Matmul in VVM MitchAlsup <user5857@newsgrouper.org.invalid> - 2026-05-12 18:12 +0000
                Re: Matmul in VVM Stephen Fuld <sfuld@alumni.cmu.edu.invalid> - 2026-05-12 17:08 -0700
                Re: Matmul in VVM scott@slp53.sl.home (Scott Lurndal) - 2026-05-13 14:12 +0000
                Re: Matmul in VVM MitchAlsup <user5857@newsgrouper.org.invalid> - 2026-05-13 17:36 +0000
                Re: Matmul in VVM Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-05-13 02:57 +0000
                Re: Matmul in VVM MitchAlsup <user5857@newsgrouper.org.invalid> - 2026-05-13 17:32 +0000
                Re: Matmul in VVM Terje Mathisen <terje.mathisen@tmsw.no> - 2026-05-14 09:39 +0200
                Re: Matmul in VVM Bernd Linsel <bl1-thispartdoesnotbelonghere@gmx.com> - 2026-05-13 14:02 +0200
                Re: Matmul in VVM Stephen Fuld <sfuld@alumni.cmu.edu.invalid> - 2026-05-13 09:14 -0700
                Re: Matmul in VVM MitchAlsup <user5857@newsgrouper.org.invalid> - 2026-05-13 17:40 +0000
                Re: Matmul in VVM Bernd Linsel <bl1-thispartdoesnotbelonghere@gmx.com> - 2026-05-13 21:35 +0200
                Re: Matmul in VVM MitchAlsup <user5857@newsgrouper.org.invalid> - 2026-05-13 20:52 +0000
                Re: Matmul in VVM Bernd Linsel <bl1-thispartdoesnotbelonghere@gmx.com> - 2026-05-15 00:03 +0200
                Re: Matmul in VVM Stephen Fuld <sfuld@alumni.cmu.edu.invalid> - 2026-05-14 16:35 -0700
                Re: Matmul in VVM MitchAlsup <user5857@newsgrouper.org.invalid> - 2026-05-15 00:17 +0000
                Re: Matmul in VVM Stephen Fuld <sfuld@alumni.cmu.edu.invalid> - 2026-05-18 14:22 -0700
                Re: Matmul in VVM Bernd Linsel <bl1-thispartdoesnotbelonghere@gmx.com> - 2026-05-20 10:06 +0200
                Re: Matmul in VVM Stefan Monnier <monnier@iro.umontreal.ca> - 2026-05-14 12:19 -0400
                Re: Matmul in VVM anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2026-05-15 06:29 +0000
                Re: Matmul in VVM EricP <ThatWouldBeTelling@thevillage.com> - 2026-05-15 09:19 -0400
                Re: Matmul in VVM Stephen Fuld <sfuld@alumni.cmu.edu.invalid> - 2026-05-18 14:18 -0700
                Re: Matmul in VVM MitchAlsup <user5857@newsgrouper.org.invalid> - 2026-05-12 18:06 +0000
                Re: Matmul in VVM Thomas Koenig <tkoenig@netcologne.de> - 2026-05-12 09:48 +0000
                Re: Matmul in VVM David Brown <david.brown@hesbynett.no> - 2026-05-12 12:59 +0200
                Re: Matmul in VVM Thomas Koenig <tkoenig@netcologne.de> - 2026-05-15 16:59 +0000
                Re: Matmul in VVM scott@slp53.sl.home (Scott Lurndal) - 2026-05-15 22:30 +0000
                Re: Matmul in VVM Thomas Koenig <tkoenig@netcologne.de> - 2026-05-16 10:22 +0000
                Re: Matmul in VVM MitchAlsup <user5857@newsgrouper.org.invalid> - 2026-05-16 18:09 +0000
                Re: Matmul in VVM Thomas Koenig <tkoenig@netcologne.de> - 2026-05-16 18:11 +0000
                Re: Matmul in VVM MitchAlsup <user5857@newsgrouper.org.invalid> - 2026-05-16 22:59 +0000
                Re: Matmul in VVM Thomas Koenig <tkoenig@netcologne.de> - 2026-05-17 07:51 +0000
                Re: Matmul in VVM scott@slp53.sl.home (Scott Lurndal) - 2026-05-17 18:51 +0000
                Re: Matmul in VVM Thomas Koenig <tkoenig@netcologne.de> - 2026-05-18 09:56 +0000
                Re: Matmul in VVM MitchAlsup <user5857@newsgrouper.org.invalid> - 2026-05-18 17:50 +0000
                Re: Matmul in VVM scott@slp53.sl.home (Scott Lurndal) - 2026-05-12 14:29 +0000
                Re: Matmul in VVM Stephen Fuld <sfuld@alumni.cmu.edu.invalid> - 2026-05-25 12:00 -0700
                Re: Matmul in VVM MitchAlsup <user5857@newsgrouper.org.invalid> - 2026-05-25 19:36 +0000
                Re: Matmul in VVM Stephen Fuld <sfuld@alumni.cmu.edu.invalid> - 2026-05-25 17:52 -0700
                Re: Matmul in VVM MitchAlsup <user5857@newsgrouper.org.invalid> - 2026-05-26 17:48 +0000
                Re: Matmul in VVM Stephen Fuld <sfuld@alumni.cmu.edu.invalid> - 2026-05-26 11:55 -0700
                Re: Matmul in VVM Stefan Monnier <monnier@iro.umontreal.ca> - 2026-05-27 10:57 -0400
                Re: Matmul in VVM Stephen Fuld <sfuld@alumni.cmu.edu.invalid> - 2026-05-27 11:13 -0700
                Re: Matmul in VVM Stephen Fuld <sfuld@alumni.cmu.edu.invalid> - 2026-05-28 07:43 -0700
                Re: Matmul in VVM Stephen Fuld <sfuld@alumni.cmu.edu.invalid> - 2026-05-28 07:53 -0700
                Re: Matmul in VVM MitchAlsup <user5857@newsgrouper.org.invalid> - 2026-05-28 18:08 +0000
                Re: Matmul in VVM Stephen Fuld <sfuld@alumni.cmu.edu.invalid> - 2026-05-29 08:50 -0700
                Re: Matmul in VVM MitchAlsup <user5857@newsgrouper.org.invalid> - 2026-05-29 16:58 +0000
                Re: Matmul in VVM Stephen Fuld <sfuld@alumni.cmu.edu.invalid> - 2026-06-01 15:45 -0700
                Re: Matmul in VVM Stefan Monnier <monnier@iro.umontreal.ca> - 2026-05-28 19:29 -0400
                Re: Matmul in VVM Stephen Fuld <sfuld@alumni.cmu.edu.invalid> - 2026-05-29 09:03 -0700
                Re: Matmul in VVM MitchAlsup <user5857@newsgrouper.org.invalid> - 2026-05-29 17:04 +0000
                Re: Matmul in VVM MitchAlsup <user5857@newsgrouper.org.invalid> - 2026-05-29 16:55 +0000
                Re: Matmul in VVM Stefan Monnier <monnier@iro.umontreal.ca> - 2026-06-01 14:58 -0400
                Re: Matmul in VVM Stephen Fuld <sfuld@alumni.cmu.edu.invalid> - 2026-06-01 23:40 -0700
                Re: Matmul in VVM (was: Sane(r) SIMD) MitchAlsup <user5857@newsgrouper.org.invalid> - 2026-05-08 18:15 +0000
                Re: Matmul in VVM (was: Sane(r) SIMD) Thomas Koenig <tkoenig@netcologne.de> - 2026-05-10 07:14 +0000
                Re: Matmul in VVM (was: Sane(r) SIMD) Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-05-11 05:36 +0000
                Re: Matmul in VVM Stephen Fuld <sfuld@alumni.cmu.edu.invalid> - 2026-05-18 11:02 -0700
                Re: Matmul in VVM MitchAlsup <user5857@newsgrouper.org.invalid> - 2026-05-18 20:20 +0000
              Re: Matmul in VVM (was: Sane(r) SIMD) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2026-05-02 16:29 +0000
                Re: Matmul in VVM (was: Sane(r) SIMD) Michael S <already5chosen@yahoo.com> - 2026-05-03 11:29 +0300
                Re: Matmul in VVM (was: Sane(r) SIMD) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2026-05-03 11:22 +0000
                Re: Matmul in VVM (was: Sane(r) SIMD) Michael S <already5chosen@yahoo.com> - 2026-05-03 16:53 +0300
                Re: Matmul in VVM (was: Sane(r) SIMD) Thomas Koenig <tkoenig@netcologne.de> - 2026-05-03 14:46 +0000
                Re: Matmul in VVM (was: Sane(r) SIMD) Michael S <already5chosen@yahoo.com> - 2026-05-03 19:07 +0300
                Re: Matmul in VVM (was: Sane(r) SIMD) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2026-05-03 14:39 +0000
                More real world matmul kernel Was: Matmul in VVM (was: Sane(r) SIMD) Michael S <already5chosen@yahoo.com> - 2026-05-03 18:30 +0300
          Re: Matmul in VVM (was: Sane(r) SIMD) MitchAlsup <user5857@newsgrouper.org.invalid> - 2026-05-01 22:21 +0000
            Re: Matmul in VVM (was: Sane(r) SIMD) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2026-05-02 06:02 +0000
              Re: Matmul in VVM (was: Sane(r) SIMD) MitchAlsup <user5857@newsgrouper.org.invalid> - 2026-05-02 18:33 +0000
            Re: Matmul in VVM (was: Sane(r) SIMD) Thomas Koenig <tkoenig@netcologne.de> - 2026-05-02 06:54 +0000
              Re: Matmul in VVM (was: Sane(r) SIMD) Thomas Koenig <tkoenig@netcologne.de> - 2026-05-02 15:26 +0000

csiph-web