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 | |
Результат | CurandStatus |
/// <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); } }
/// <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); } }