Class CuRandNative
- Namespace
- NVMathNet.Interop
- Assembly
- NVMath.Net.dll
Raw P/Invoke bindings for cuRAND.
public static class CuRandNativeInheritance
Inherited Members
Methods
Check(CuRandStatus, string?)
Throws NVMathNet.Interop.CuRandException if status is not
NVMathNet.Interop.CuRandStatus.Success.
public static void Check(CuRandStatus status, string? context = null)Parameters
statusCuRandStatuscontextstring?
CreateGenerator(CuRandRngType)
Creates a cuRAND generator.
public static nint CreateGenerator(CuRandRngType rngType = CuRandRngType.PseudoDefault)Parameters
rngTypeCuRandRngType
Returns
DestroyGenerator(nint)
Destroys a cuRAND generator.
public static void DestroyGenerator(nint generator)Parameters
generatornint
Generate(nint, uint*, nuint)
Generates 32-bit unsigned integers.
public static void Generate(nint generator, uint* output, nuint count)Parameters
GenerateLogNormal(nint, float*, nuint, float, float)
Generates log-normally distributed single-precision floats.
public static void GenerateLogNormal(nint generator, float* output, nuint count, float mean, float stddev)Parameters
GenerateLogNormalDouble(nint, double*, nuint, double, double)
Generates log-normally distributed double-precision floats.
public static void GenerateLogNormalDouble(nint generator, double* output, nuint count, double mean, double stddev)Parameters
GenerateLongLong(nint, ulong*, nuint)
Generates 64-bit unsigned integers (64-bit quasirandom generators).
public static void GenerateLongLong(nint generator, ulong* output, nuint count)Parameters
GenerateNormal(nint, float*, nuint, float, float)
Generates normally distributed single-precision floats.
public static void GenerateNormal(nint generator, float* output, nuint count, float mean, float stddev)Parameters
GenerateNormalDouble(nint, double*, nuint, double, double)
Generates normally distributed double-precision floats.
public static void GenerateNormalDouble(nint generator, double* output, nuint count, double mean, double stddev)Parameters
GeneratePoisson(nint, uint*, nuint, double)
Generates Poisson-distributed 32-bit unsigned integers.
public static void GeneratePoisson(nint generator, uint* output, nuint count, double lambda)Parameters
GenerateUniform(nint, float*, nuint)
Generates uniformly distributed single-precision floats in (0,1].
public static void GenerateUniform(nint generator, float* output, nuint count)Parameters
GenerateUniformDouble(nint, double*, nuint)
Generates uniformly distributed double-precision floats in (0,1].
public static void GenerateUniformDouble(nint generator, double* output, nuint count)Parameters
SetOffset(nint, ulong)
Sets the offset for a generator.
public static void SetOffset(nint generator, ulong offset)Parameters
SetQuasiRandomGeneratorDimensions(nint, uint)
Sets the number of dimensions of a quasirandom generator.
public static void SetQuasiRandomGeneratorDimensions(nint generator, uint dimensions)Parameters
SetSeed(nint, ulong)
Sets the seed for a pseudorandom generator.
public static void SetSeed(nint generator, ulong seed)Parameters
SetStream(nint, nint)
Associates a CUDA stream with the generator.
public static void SetStream(nint generator, nint stream)