2026/02/14

Newest at the top

2026-02-14 21:00:47 +0100 <int-e> `vector` makes at least one SIMD-unfriendly design choice though: `drop` is O(1) so there's no alignment guaranteee beyond the primitive data type for unboxed vectors.
2026-02-14 21:00:37 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 21:00:09 +0100 <int-e> Hmm, https://minoki.github.io/posts/2025-01-13-ghc-simd.html looks like a decent overview of the state of the SIMD primitives in GHC?
2026-02-14 20:58:30 +0100 <tomsmeding> no that's not quite right
2026-02-14 20:57:35 +0100 <tomsmeding> and 13-17 for 9.10 and higher
2026-02-14 20:56:56 +0100 <tomsmeding> seems LLVM 12 will do for 9.0 up to and including 9.8
2026-02-14 20:55:11 +0100 <int-e> subtle
2026-02-14 20:53:27 +0100 <tomsmeding> I wonder if the maintainer of the playground could be bribed to make -fllvm work there.
2026-02-14 20:50:15 +0100 <tomsmeding> will the work be suitably arranged? That depends on the vagaries of the code generator, as well as the implementation of V.imapM_
2026-02-14 20:49:56 +0100 <tomsmeding> GHC will not generate SIMD instructions here, but if the work is suitably arranged, LLVM will do it
2026-02-14 20:49:35 +0100 <tomsmeding> probie: if you're talking about LLVM, then the only real answer is to try it :p
2026-02-14 20:49:05 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-02-14 20:48:09 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2026-02-14 20:46:39 +0100ChaiTRex(~ChaiTRex@user/chaitrex) ChaiTRex
2026-02-14 20:46:15 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2026-02-14 20:46:15 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2026-02-14 20:45:55 +0100infinity0(~infinity0@pwned.gg) (Ping timeout: 264 seconds)
2026-02-14 20:45:19 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2026-02-14 20:44:54 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 245 seconds)
2026-02-14 20:43:58 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 20:43:56 +0100peterbecich(~Thunderbi@71.84.33.135) peterbecich
2026-02-14 20:43:55 +0100 <probie> If I just do something like `V.imapM_ (\ix a -> (a +) <$> V.read y ix) x` will it work?
2026-02-14 20:38:28 +0100 <probie> Dumb question: what's the correct way to do `x += y` with a mutable unboxed vector such that it'll generate SIMD instructions (when using the LLVM backend)?
2026-02-14 20:38:06 +0100target_i(~target_i@user/target-i/x-6023099) target_i
2026-02-14 20:36:19 +0100traxex(traxex@user/traxex) (Ping timeout: 264 seconds)
2026-02-14 20:32:35 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-02-14 20:32:02 +0100target_i(~target_i@user/target-i/x-6023099) (Ping timeout: 252 seconds)
2026-02-14 20:27:47 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 20:27:27 +0100target_i(~target_i@user/target-i/x-6023099) target_i
2026-02-14 20:23:13 +0100emmanuelux(~em@user/emmanuelux) emmanuelux
2026-02-14 20:22:28 +0100caubert(~caubert@user/caubert) caubert
2026-02-14 20:18:24 +0100emmanuelux(~em@user/emmanuelux) (Ping timeout: 252 seconds)
2026-02-14 20:15:01 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-02-14 20:10:19 +0100caubert(~caubert@user/caubert) (Ping timeout: 250 seconds)
2026-02-14 20:10:02 +0100lxsameer(~lxsameer@Serene/lxsameer) (Ping timeout: 252 seconds)
2026-02-14 20:08:37 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 20:01:50 +0100tromp(~textual@2001:1c00:3487:1b00:49b4:8838:6b5e:2a21)
2026-02-14 19:57:56 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-02-14 19:52:44 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 19:48:25 +0100housemate(~housemate@202.7.248.67) housemate
2026-02-14 19:48:06 +0100tromp(~textual@2001:1c00:3487:1b00:49b4:8838:6b5e:2a21) (Quit: My iMac has gone to sleep. ZZZzzz…)
2026-02-14 19:45:39 +0100ouilemur(~jgmerritt@user/ouilemur) (Quit: WeeChat 4.8.1)
2026-02-14 19:44:44 +0100prdak(~Thunderbi@user/prdak) (Ping timeout: 252 seconds)
2026-02-14 19:41:34 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-14 19:40:22 +0100prdak(~Thunderbi@user/prdak) prdak
2026-02-14 19:39:39 +0100housemate(~housemate@202.7.248.67) (Quit: https://ineedsomeacidtocalmmedown.space/)
2026-02-14 19:39:04 +0100qqq(~qqq@185.54.22.240)
2026-02-14 19:36:53 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 19:36:36 +0100Pozyomka(~pyon@user/pyon) pyon
2026-02-14 19:30:02 +0100tromp(~textual@2001:1c00:3487:1b00:49b4:8838:6b5e:2a21)