private curandGenerateUniform ( ManagedCuda.CudaRand.CurandGenerator generator, ManagedCuda.BasicTypes.CUdeviceptr outputPtr, ManagedCuda.BasicTypes.SizeT num ) : CurandStatus | ||
generator | ManagedCuda.CudaRand.CurandGenerator | |
outputPtr | ManagedCuda.BasicTypes.CUdeviceptr | |
num | ManagedCuda.BasicTypes.SizeT | |
return | CurandStatus |
/// <summary> /// Use generator to generate num float results into the device memory at /// outputPtr. 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 SetStream(), or the null stream if no stream has been set. /// <para/> /// Results are 32-bit floating point values between 0.0f and 1.0f, /// excluding 0.0f and including 1.0f. /// </summary> /// <param name="output">DevicePtr of type float*</param> /// <param name="size">Number of random elements to create</param> public void GenerateUniform32(CUdeviceptr output, SizeT size) { _status = CudaRandNativeMethods.curandGenerateUniform(_generator, output, size); Debug.WriteLine(String.Format("{0:G}, {1}: {2}", DateTime.Now, "curandGenerateUniform", _status)); if (_status != CurandStatus.Success) { throw new CudaRandException(_status); } }
/// <summary> /// Use generator to generate num float results into the device memory at /// outputPtr. 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 SetStream(), or the null stream if no stream has been set. /// <para/> /// Results are 32-bit floating point values between 0.0f and 1.0f, /// excluding 0.0f and including 1.0f. /// </summary> /// <param name="output">CudaDeviceVariable</param> public void GenerateUniform(CudaDeviceVariable <float> output) { _status = CudaRandNativeMethods.curandGenerateUniform(_generator, output.DevicePointer, output.Size); Debug.WriteLine(String.Format("{0:G}, {1}: {2}", DateTime.Now, "curandGenerateUniform", _status)); if (_status != CurandStatus.Success) { throw new CudaRandException(_status); } }
/// <summary> /// Use generator to generate num float results into the device memory at /// outputPtr. 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 SetStream(), or the null stream if no stream has been set. /// <para/> /// Results are 32-bit floating point values between 0.0f and 1.0f, /// excluding 0.0f and including 1.0f. /// </summary> /// <param name="output">CudaDeviceVariable</param> public void GenerateUniform(float[] output) { _status = CudaRandNativeMethods.curandGenerateUniform(_generator, output, output.LongLength); Debug.WriteLine(String.Format("{0:G}, {1}: {2}", DateTime.Now, "curandGenerateUniform", _status)); if (_status != CurandStatus.Success) { throw new CudaRandException(_status); } }