|
1 | | -//! gpu_rand is the Rust CUDA Project's equivalent of cuRAND. cuRAND unfortunately does not work with |
2 | | -//! the CUDA Driver API, therefore, we reimplement (and extend) some of its algorithms and provide them in this crate. |
| 1 | +//! gpu_rand is the Rust CUDA Project's equivalent of cuRAND. cuRAND unfortunately does not work |
| 2 | +//! with the CUDA Driver API, therefore, we reimplement (and extend) some of its algorithms and |
| 3 | +//! provide them in this crate. |
3 | 4 | //! |
4 | | -//! This crate is meant to be gpu-centric, which means it may special-case certain things to run faster on the GPU by using PTX |
5 | | -//! assembly. However, it is supposed to also work on the CPU, allowing you to reuse the same random states across CPU and GPU. |
| 5 | +//! This crate is meant to be GPU-centric, which means it may special-case certain things to run |
| 6 | +//! faster on the GPU by using PTX assembly. However, it is supposed to also work on the CPU, |
| 7 | +//! allowing you to reuse the same random states across CPU and GPU. |
| 8 | +//! |
| 9 | +//! A lot of the initial code is taken from the [rust-random |
| 10 | +//! project](https://github.com/rust-random) and modified to make it able to pass to the GPU, as |
| 11 | +//! well as cleaning up certain things and updating it to edition 2024. |
6 | 12 | //! |
7 | | -//! A lot of the initial code is taken from the [rust-random project](https://github.com/rust-random) and modified to make it able to |
8 | | -//! pass to the GPU, as well as cleaning up certain things and updating it to edition 2024. |
9 | 13 | //! The following generators are implemented: |
10 | 14 | //! |
| 15 | +//! The random generators currently implemented are: |
| 16 | +//! |
| 17 | +//! 32-bit: |
| 18 | +//! - Xoroshiro64** |
| 19 | +//! - Xoroshiro64* |
| 20 | +//! - Xoroshiro128+ |
| 21 | +//! - Xoroshiro128++ |
| 22 | +//! - Xoroshiro128** |
| 23 | +//! |
| 24 | +//! 64-bit: |
| 25 | +//! - Xoroshiro128+ |
| 26 | +//! - Xoroshiro128++ |
| 27 | +//! - Xoroshiro128** |
| 28 | +//! - Xoroshiro256+ |
| 29 | +//! - Xoroshiro256++ |
| 30 | +//! - Xoroshiro256** |
| 31 | +//! - Xoroshiro512+ |
| 32 | +//! - Xoroshiro512++ |
| 33 | +//! - Xoroshiro512** |
| 34 | +//! - SplitMix64 |
| 35 | +//! |
| 36 | +//! We also provide a default 64-bit generator which should be more than enough for most |
| 37 | +//! applications. The default currently uses Xoroshiro128** but that is subject to change in the |
| 38 | +//! future. |
11 | 39 |
|
12 | 40 | #![deny(missing_docs)] |
13 | 41 | #![deny(missing_debug_implementations)] |
|
0 commit comments