RNG SIMD
-
Review changes -
-
Download -
Patches
-
Plain diff
I've vectorized the Philox and AES-NI RNGs, fixes #12 (closed). I had to add a very minimal integer vectorization that only supports int32
, makeVec
, +
, and loop counters. Also, the RNGNode
now needs to know already during construction how it's vectorized, which is ugly, but could only be resolved by a better type system (#20 (closed)). For the same reason, it is not possible to use a vectorized float RNG with double fields or vice versa. Also, we essentially discard half the random numbers in double precision mode because otherwise the number of variables we return would change between the vectorized and non-vectorized version, which is incompatible with the interface.
For the tests, we need to add pip3 install randomgen
to the Dockerfile.
Edited by Michael Kuron
Merge request reports
Compare and
- version 585292cc03
- version 57d849cb1e
- version 56d8577787
- version 558d131a4f
- version 543c29a31e
- version 535ecd3e83
- version 52a82420c3
- version 5170ebd1d8
- version 500496ffc4
- version 49a582a775
- version 480587a453
- version 4751ac4a0e
- version 464987116e
- version 458283b191
- version 4436a602a5
- version 43245cec06
- version 42cfb73b00
- version 41d90a326c
- version 40344aa96f
- version 396bb01755
- version 38ba97f7fb
- version 3747750a01
- version 362058b2f2
- version 35f20a53c6
- version 3414e115d1
- version 3393c78f57
- version 32fedd9ae4
- version 31517547ad
- version 30c5727e0b
- version 296998ef15
- version 2831a068b1
- version 2708d7e7b6
- version 2613503dfb
- version 254d16aabe
- version 24ac82e105
- version 2307a0c61e
- version 22db621d34
- version 211ee21ffe
- version 200e7246bc
- version 19ec5dedb6
- version 18d00e1115
- version 1712e5f4d0
- version 1622120f96
- version 157c2af9ad
- version 14274a9630
- version 131a51bb1c
- version 125e264512
- version 11ae9579a4
- version 106217a7fc
- version 98bd04c81
- version 83a24a61a
- version 7fdc97b01
- version 69cc7a3f8
- version 51d9c4967
- version 458ad2b93
- version 3b16ddea7
- version 24c842f1a
- version 15cac4a90
- master (base)
- latest version6c0c3ecd44 commits,
- version 585292cc0343 commits,
- version 57d849cb1e42 commits,
- version 56d857778742 commits,
- version 558d131a4f42 commits,
- version 543c29a31e42 commits,
- version 535ecd3e8341 commits,
- version 52a82420c340 commits,
- version 5170ebd1d839 commits,
- version 500496ffc438 commits,
- version 49a582a77537 commits,
- version 480587a45333 commits,
- version 4751ac4a0e32 commits,
- version 464987116e31 commits,
- version 458283b19130 commits,
- version 4436a602a529 commits,
- version 43245cec0628 commits,
- version 42cfb73b0028 commits,
- version 41d90a326c27 commits,
- version 40344aa96f27 commits,
- version 396bb0175526 commits,
- version 38ba97f7fb25 commits,
- version 3747750a0125 commits,
- version 362058b2f225 commits,
- version 35f20a53c625 commits,
- version 3414e115d125 commits,
- version 3393c78f5725 commits,
- version 32fedd9ae424 commits,
- version 31517547ad23 commits,
- version 30c5727e0b22 commits,
- version 296998ef1521 commits,
- version 2831a068b120 commits,
- version 2708d7e7b617 commits,
- version 2613503dfb17 commits,
- version 254d16aabe16 commits,
- version 24ac82e10516 commits,
- version 2307a0c61e15 commits,
- version 22db621d3414 commits,
- version 211ee21ffe13 commits,
- version 200e7246bc12 commits,
- version 19ec5dedb611 commits,
- version 18d00e111511 commits,
- version 1712e5f4d010 commits,
- version 1622120f969 commits,
- version 157c2af9ad5 commits,
- version 14274a96304 commits,
- version 131a51bb1c4 commits,
- version 125e2645124 commits,
- version 11ae9579a43 commits,
- version 106217a7fc3 commits,
- version 98bd04c813 commits,
- version 83a24a61a3 commits,
- version 7fdc97b013 commits,
- version 69cc7a3f83 commits,
- version 51d9c49673 commits,
- version 458ad2b933 commits,
- version 3b16ddea73 commits,
- version 24c842f1a1 commit,
- version 15cac4a901 commit,
Compare changes
- Side-by-side
- Inline
Files
13Loading