예제 #1
0
		/// <summary>
		/// Creates a new random number generator of type Type
		/// </summary>
		/// <param name="Type">Generator type</param>
		public CudaRandHost(GeneratorType Type)
		{
			_generator = new CurandGenerator();
			_status = CudaRandNativeMethods.curandCreateGeneratorHost(ref _generator, Type);
			Debug.WriteLine(String.Format("{0:G}, {1}: {2}", DateTime.Now, "curandCreateGeneratorHost", _status));
			if (_status != CurandStatus.Success) throw new CudaRandException(_status);
		}
예제 #2
0
 /// <summary>
 /// Creates a new random number generator of type Type
 /// </summary>
 /// <param name="Type">Generator type</param>
 public CudaRandDevice(GeneratorType Type)
 {
     _generator = new CurandGenerator();
     _status    = CudaRandNativeMethods.curandCreateGenerator(ref _generator, Type);
     Debug.WriteLine(String.Format("{0:G}, {1}: {2}", DateTime.Now, "curandCreateGenerator", _status));
     if (_status != CurandStatus.Success)
     {
         throw new CudaRandException(_status);
     }
 }
예제 #3
0
 public static extern CurandStatus curandGenerateNormalDouble(CurandGenerator generator, [Out] double[] outputPtr, SizeT n, double mean, double stddev);
예제 #4
0
 public static extern CurandStatus curandGenerateUniformDouble(CurandGenerator generator, CUdeviceptr outputPtr, SizeT num);
예제 #5
0
 public static extern CurandStatus curandGenerateUniform(CurandGenerator generator, [Out] float[] outputPtr, SizeT num);
예제 #6
0
 public static extern CurandStatus curandGenerateLongLong(CurandGenerator generator, [Out] ulong[] outputPtr, SizeT num);
예제 #7
0
 public static extern CurandStatus curandSetQuasiRandomGeneratorDimensions(CurandGenerator generator, uint num_dimensions);
예제 #8
0
 public static extern CurandStatus curandGeneratePoisson(CurandGenerator generator, uint[] outputPtr, SizeT n, double lambda);
예제 #9
0
 public static extern CurandStatus curandGenerateNormalDouble(CurandGenerator generator, CUdeviceptr outputPtr, SizeT n, double mean, double stddev);
예제 #10
0
 public static extern CurandStatus curandGenerateNormal(CurandGenerator generator, CUdeviceptr outputPtr, SizeT n, float mean, float stddev);
예제 #11
0
 public static extern CurandStatus curandGenerateNormal(CurandGenerator generator, [Out] float[] outputPtr, SizeT n, float mean, float stddev);
예제 #12
0
 public static extern CurandStatus curandGenerateLongLong(CurandGenerator generator, CUdeviceptr outputPtr, SizeT num);
예제 #13
0
 public static extern CurandStatus curandGenerateLongLong(CurandGenerator generator, [Out] ulong[] outputPtr, SizeT num);
예제 #14
0
 public static extern CurandStatus curandGenerateLogNormalDouble(CurandGenerator generator, double[] outputPtr, SizeT n, double mean, double stddev);
예제 #15
0
 public static extern CurandStatus curandGenerate(CurandGenerator generator, [Out] uint[] outputPtr, SizeT num);
예제 #16
0
 public static extern CurandStatus curandGenerateLogNormalDouble(CurandGenerator generator, CUdeviceptr outputPtr, SizeT n, double mean, double stddev);
예제 #17
0
 public static extern CurandStatus curandCreateGeneratorHost(ref CurandGenerator generator, GeneratorType rng_type);
예제 #18
0
 public static extern CurandStatus curandGeneratePoisson(CurandGenerator generator, uint[] outputPtr, SizeT n, double lambda);
예제 #19
0
 public static extern CurandStatus curandSetPseudoRandomGeneratorSeed(CurandGenerator generator, ulong seed);
예제 #20
0
 public static extern CurandStatus curandGenerateSeeds(CurandGenerator generator);
예제 #21
0
 public static extern CurandStatus curandSetGeneratorOrdering(CurandGenerator generator, Ordering order);
예제 #22
0
 public static extern CurandStatus curandGenerateUniform(CurandGenerator generator, [Out] float[] outputPtr, SizeT num);
예제 #23
0
 public static extern CurandStatus curandGenerate(CurandGenerator generator, [Out] uint[] outputPtr, SizeT num);
예제 #24
0
 public static extern CurandStatus curandGenerateUniformDouble(CurandGenerator generator, [Out] double[] outputPtr, SizeT num);
예제 #25
0
 public static extern CurandStatus curandGenerateLongLong(CurandGenerator generator, CUdeviceptr outputPtr, SizeT num);
예제 #26
0
 public static extern CurandStatus curandGenerateUniformDouble(CurandGenerator generator, CUdeviceptr outputPtr, SizeT num);
예제 #27
0
 public static extern CurandStatus curandGenerateUniformDouble(CurandGenerator generator, [Out] double[] outputPtr, SizeT num);
예제 #28
0
 public static extern CurandStatus curandSetGeneratorOffset(CurandGenerator generator, ulong offset);
예제 #29
0
 public static extern CurandStatus curandGenerateNormal(CurandGenerator generator, [Out] float[] outputPtr, SizeT n, float mean, float stddev);
예제 #30
0
 public static extern CurandStatus curandSetGeneratorOrdering(CurandGenerator generator, Ordering order);
예제 #31
0
 public static extern CurandStatus curandGenerateLogNormal(CurandGenerator generator, CUdeviceptr outputPtr, SizeT n, float mean, float stddev);
예제 #32
0
 public static extern CurandStatus curandSetPseudoRandomGeneratorSeed(CurandGenerator generator, ulong seed);
예제 #33
0
 public static extern CurandStatus curandGenerateSeeds(CurandGenerator generator);
예제 #34
0
 public static extern CurandStatus curandSetQuasiRandomGeneratorDimensions(CurandGenerator generator, uint num_dimensions);
예제 #35
0
 public static extern CurandStatus curandDestroyGenerator(CurandGenerator generator);
예제 #36
0
 public static extern CurandStatus curandSetStream(CurandGenerator generator, CUstream stream);
예제 #37
0
 public static extern CurandStatus curandSetStream(CurandGenerator generator, CUstream stream);
예제 #38
0
 public static extern CurandStatus curandCreateGeneratorHost(ref CurandGenerator generator, GeneratorType rng_type);
예제 #39
0
 public static extern CurandStatus curandSetGeneratorOffset(CurandGenerator generator, ulong offset);
예제 #40
0
 public static extern CurandStatus curandDestroyGenerator(CurandGenerator generator);