Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • pystencils pystencils
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 18
    • Issues 18
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 4
    • Merge requests 4
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • pycodegen
  • pystencilspystencils
  • Merge requests
  • !48

RNG SIMD

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Michael Kuron requested to merge philox-simd into master Sep 03, 2019
  • Overview 3
  • Commits 44
  • Pipelines 59
  • Changes 13

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 Feb 08, 2021 by Michael Kuron
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: philox-simd