Skip to content

Releases: clMathLibraries/clRNG

First release of clRNG, version 1.0.0 beta

01 May 21:29
Compare
Choose a tag to compare

clRNG 1.0 is an OpenCL library that generates uniform random numbers. This library is now available as open-source on GitHub. The addition of the clRNG library serves as an important step in improving coverage of OpenCL libraries available to developers. The project’s URL is:

https://github.com/clMathLibraries/clRNG

clRNG has both host and device side interfaces to give you, the developer, sufficient control. The host side interfaces are native C APIs. These interfaces are used to appropriately allocate and initialize data structures used on the device side. The library can also generate random numbers in bulk into a buffer, with only host side calls. The device side interfaces are in OpenCL C. This means you can directly invoke the kernel interfaces from your own OpenCL kernels for random number needs.

The library provides multiple streams (a stream is a sequence of random numbers), and substreams as needed, for parallel applications and simulations. Currently, there are three base generators implemented in the library: MRG31k3p, MRG32k3a and LFSR113. Additionally, there is also a Philox-based generator from Random123 library. There are five sample programs included in the repository to illustrate how to use the library. The library’s main page on GitHub has a simple example that can be used as a quick reference.

clRNG is released under BSD 2.0 license. It is currently a beta release. We want developers to use, evaluate, and provide feedback. We encourage and appreciate feedback on any aspect of the library such as the API design, functionality, implementation choices, and performance. Feedback can be provided through issue tracker on GitHub. The library is a work in progress and items planned for future versions include: addition of generic APIs that allow users to switch easily between generators; support for distributions; and C++ style kernel interfaces as OpenCL allows.

This clRNG release tagged as v1.0 is part of AMD Compute Libraries (ACL) 1.0 beta 1.

Driver notes:

  • This library version has been tested with Catalyst Pro driver version 14.301 on Firepro W9100.