curandGeneratePoisson() private method

private curandGeneratePoisson ( ManagedCuda.CudaRand.CurandGenerator generator, ManagedCuda.BasicTypes.CUdeviceptr outputPtr, ManagedCuda.BasicTypes.SizeT n, double lambda ) : CurandStatus
generator ManagedCuda.CudaRand.CurandGenerator
outputPtr ManagedCuda.BasicTypes.CUdeviceptr
n ManagedCuda.BasicTypes.SizeT
lambda double
return CurandStatus
Example #1
0
 /// <summary>
 /// Generate Poisson-distributed unsigned ints.<para/>
 /// Use <c>generator</c> to generate <c>num</c> unsigned int results into the device memory at
 /// <c>outputPtr</c>.  The device memory must have been previously allocated and be
 /// large enough to hold all the results.  Launches are done with the stream
 /// set using <c>curandSetStream()</c>, or the null stream if no stream has been set.
 /// Results are 32-bit unsigned int point values with poisson distribution based on
 /// an associated poisson distribution with lambda <c>lambda</c>.
 /// </summary>
 /// <param name="generator">Generator to use</param>
 /// <param name="output">Pointer to host memory to store CPU-generated results</param>
 public void Generate(CudaRandHost generator, uint[] output)
 {
     _status = CudaRandNativeMethods.curandGeneratePoisson(generator.Generator, output, output.Length, _lambda);
     Debug.WriteLine(String.Format("{0:G}, {1}: {2}", DateTime.Now, "curandGeneratePoisson", _status));
     if (_status != CurandStatus.Success)
     {
         throw new CudaRandException(_status);
     }
 }
Example #2
0
 /// <summary>
 /// Generate Poisson-distributed unsigned ints.<para/>
 /// Use <c>generator</c> to generate <c>num</c> unsigned int results into the device memory at
 /// <c>outputPtr</c>.  The device memory must have been previously allocated and be
 /// large enough to hold all the results.  Launches are done with the stream
 /// set using <c>curandSetStream()</c>, or the null stream if no stream has been set.
 /// Results are 32-bit unsigned int point values with poisson distribution based on
 /// an associated poisson distribution with lambda <c>lambda</c>.
 /// </summary>
 /// <param name="generator">Generator to use</param>
 /// <param name="output">Pointer to device memory to store CUDA-generated results</param>
 public void Generate(CudaRandDevice generator, CudaDeviceVariable <uint> output)
 {
     _status = CudaRandNativeMethods.curandGeneratePoisson(generator.Generator, output.DevicePointer, output.Size, _lambda);
     Debug.WriteLine(String.Format("{0:G}, {1}: {2}", DateTime.Now, "curandGeneratePoisson", _status));
     if (_status != CurandStatus.Success)
     {
         throw new CudaRandException(_status);
     }
 }