发明名称 |
Parallel pseudorandom number generation |
摘要 |
A method of generating pseudo-random numbers on a parallel processing system comprises generating a plurality of sub-streams of pseudo-random numbers, wherein the sub-streams are generated in parallel by one or more co-processors, and providing the plurality of sub-streams to respective processing elements, wherein the respective processing elements employ the plurality of sub-streams to execute an application. |
申请公布号 |
US8756264(B2) |
申请公布日期 |
2014.06.17 |
申请号 |
US200711716379 |
申请日期 |
2007.03.09 |
申请人 |
Google Inc. |
发明人 |
Sussman Myles A.;Crutchfield William Y.;Papakipos Matthew N. |
分类号 |
G06F1/02 |
主分类号 |
G06F1/02 |
代理机构 |
Morgan, Lewis & Bockius LLP |
代理人 |
Morgan, Lewis & Bockius LLP |
主权项 |
1. A method of generating pseudo-random numbers, comprising:
in a runtime system configured to run on a parallel-processing computer system that includes a first processor and a plurality of co-processors and memory storing one or more programs for execution by the first processor and the plurality of co-processors, at runtime:
receiving one or more operation requests from an application, the one or more operation requests comprising requests for a plurality of pseudo-random number sub-streams;selecting respective ones of the plurality of co-processors for executing the pseudo-random number generators; generating a plurality of sub-streams of pseudo-random numbers, wherein the sub-streams are generated in parallel by the selected co-processors; and providing the plurality of sub-streams to respective co-processors, wherein each co-processor is configured to employ one of the plurality of sub-streams to execute the application; wherein generating the plurality of sub-streams comprises:
in the first processor, storing a state associated with a first element in a respective sub-stream of the plurality of sub-streams;in the first processor, advancing the state;providing the advanced state to a respective co-processor of the plurality of co-processors, wherein the respective co-processor calculates a second element in the respective sub-stream in accordance with the advanced state; andat one of the plurality of co-processors:
computing, for a sub-stream, an index location; andreading, from an indexed table, a value stored at the computed index location, wherein the indexed table for a respective sub-stream is stored in a texture memory of one of the co-processors that is a graphics processing unit.
|
地址 |
Mountain View CA US |