Uploaded image for project: 'SystemDS'
  1. SystemDS
  2. SYSTEMDS-3556

Counter based random number generator

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Open
    • Major
    • Resolution: Unresolved
    • SystemDS 3.2
    • None
    • Internals

    Description

      SystemDS's random number generation is based on a sequential number generation of
      individual blocks of BlockSize x BlockSize. This makes the generation of matrices
      parallelized at maximum at the number of blocks. This technique is inefficient on
      GPUs. This project is to implement a Counter-based random generation of blocks
      that work well on both CPU and GPU. The ideal implementation produce equivalent results to cuRAND.

      https://docs.nvidia.com/cuda/curand/index.html

      The design of this method should still generate values based on the block ID associated to make the generation compatible with spark, but inside each block, the values should be generated based on the Counter-based number generator.

      The whole implementation should be something we can enable via a configuration flag, specifying that we generated based on the previous default, or this counter based one.

      Attachments

        Activity

          People

            Unassigned Unassigned
            baunsgaard Sebastian Baunsgaard
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: