CUDA:实现使用CURAND产生伪随机和准随机算法
以下是一个使用 CURAND 库产生伪随机和准随机算法的示例代码:
#include <iostream>
#include <cuda_runtime.h>
#include <curand.h>
int main() {
const int N = 10;
// Allocate memory for random numbers on device
float *d_pseudoRandomNumbers, *d_quasiRandomNumbers;
cudaMalloc(&d_pseudoRandomNumbers, sizeof(float) * N);
cudaMalloc(&d_quasiRandomNumbers, sizeof(float) * N);
// Create cuRAND generator for pseudo-random numbers
curandGenerator_t genPseudo;
curandCreateGenerator(&genPseudo, CURAND_RNG_PSEUDO_DEFAULT);
// Set seed for pseudo-random generator
curandSetPseudoRandomGeneratorSeed(genPseudo, 1234ULL);
// Generate pseudo-random numbers
curandGenerateUniform(genPseudo, d_pseudoRandomNumbers, N);