GPU Random Number Generation Parallelization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing GPU-based random number generators, such as MTGP, generate random number sequences that differ from those produced by CPU-based generators, leading to reproducibility issues in Monte Carlo methods, and inefficient use of computing resources due to limited parallelism and restrictive architecture.

Innovation Solution

The method involves separating update processing, which can be performed in parallel within a single block, from tempering and conversion processing, which can be executed across multiple blocks, optimizing parallelism and resource utilization to generate consistent random number sequences efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a GPU-based random number generator (such as MTGP) is used to achieve high-speed parallel generation, then the generation speed is improved, but the generated random number sequence differs from CPU-based generators, leading to reproducibility issues

Engineering Contradiction:
Improverandom number generation speedVSAvoidreproducibility of random number sequence
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent divides the random number generation process into distinct segments: update processing (state vector update) and conversion processing (tempering and distribution conversion). By separating these functions and executing them in different parallel configurations, the system achieves both high speed and reproducibility - the update processing maintains sequence consistency while conversion processing maximizes parallel throughput

Inventive Principle:
Principle #1Segmentation

2Productivity

If multiple blocks are used for parallel processing to increase throughput, then the productivity is improved, but the data storage requirements and complexity increase

Engineering Contradiction:
Improveparallel processing throughputVSAvoidGPU block and memory configuration
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent utilizes the block dimension of GPU architecture by distributing different stages of random number generation across multiple blocks. Each block handles specific conversion operations independently, transforming a single-sequence problem into a multi-block parallel processing solution that increases throughput without requiring excessive global memory

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Reliability

If update processing is performed within a single block to maintain data consistency, then the reliability is improved, but the parallelism and productivity are limited

Engineering Contradiction:
Improvedata consistencyVSAvoidparallel processing capability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the random number generation workflow so that update processing (which requires data consistency) is confined to a single block, while conversion processing (which can be highly parallel) is distributed across multiple blocks. This segmentation allows each segment to operate at its optimal parallelism level without compromising overall system reliability

Inventive Principle:
Principle #1Segmentation

4Power

If the same arithmetic operation is executed across all cores simultaneously as per GPU architecture, then the computing efficiency is improved, but the adaptability to different random number generation algorithms is reduced

Engineering Contradiction:
Improvecomputing efficiencyVSAvoidalgorithm flexibility
Core Design Contradiction:
PowerVSAdaptability or versatility

Solution Approach 1:

The patent designs the GPU-based random number generator with universal interfaces and standardized data structures that can accommodate different random number generation algorithms. The separation of update and conversion processing creates a flexible framework where the core parallel conversion mechanism can work with various update algorithms, making the system adaptable while maintaining high computing efficiency

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS8786617B2Parallelization of random number generation processing by employing GPU
Publication Date: 2014.07.22 MIZUHO DL FINANCIAL TECH
  • US8786617B2 patent drawing
  • US8786617B2 patent drawing
  • US8786617B2 patent drawing

AI summary

A method of carrying out random number generation processing uses a GPU including a plurality of blocks each including at least one core, the random number generation processing including update processing of updating state vectors and conversion processing of converting the updated state vectors into random numbers having another distribution. The method includes carrying out, by one of the plurality of blocks, the update processing (S3), and carrying out, by the plurality of blocks, the conversion processing in parallel based on results of the update processing (S9). Therefore, it is possible to more efficiently generate a random number sequence which is the same as the one obtained through random number generation processing performed in a serial manner, by parallelizing a single random number generator in a GPU.