Module: Ignis::Random::CuRANDBindings
- Extended by:
- FFI::Library
- Defined in:
- lib/nvruby/random/curand_bindings.rb
Overview
cuRAND library FFI bindings
Constant Summary collapse
- CURAND_RNG_PSEUDO_DEFAULT =
Generator types (curandRngType_t)
100- CURAND_RNG_PSEUDO_XORWOW =
101- CURAND_RNG_PSEUDO_MRG32K3A =
121- CURAND_RNG_PSEUDO_MTGP32 =
141- CURAND_RNG_PSEUDO_MT19937 =
142- CURAND_RNG_PSEUDO_PHILOX4_32_10 =
161- CURAND_RNG_QUASI_DEFAULT =
200- CURAND_RNG_QUASI_SOBOL32 =
201- CURAND_RNG_QUASI_SCRAMBLED_SOBOL32 =
202- CURAND_RNG_QUASI_SOBOL64 =
203- CURAND_RNG_QUASI_SCRAMBLED_SOBOL64 =
204- CURAND_ORDERING_PSEUDO_BEST =
Ordering types
100- CURAND_ORDERING_PSEUDO_DEFAULT =
101- CURAND_ORDERING_PSEUDO_SEEDED =
102- CURAND_ORDERING_PSEUDO_LEGACY =
103- CURAND_ORDERING_PSEUDO_DYNAMIC =
104- CURAND_ORDERING_QUASI_DEFAULT =
201- CURAND_DIRECTION_VECTORS_32_JOEKUO6 =
Direction vector types
101- CURAND_DIRECTION_VECTORS_64_JOEKUO6 =
102- CURAND_SCRAMBLED_DIRECTION_VECTORS_32_JOEKUO6 =
103- CURAND_SCRAMBLED_DIRECTION_VECTORS_64_JOEKUO6 =
104
Class Method Summary collapse
-
.check_status!(status, context = "cuRAND operation") ⇒ void
Check cuRAND status and raise error if not success.
-
.ensure_loaded! ⇒ void
Ensure cuRAND is loaded.
Class Method Details
.check_status!(status, context = "cuRAND operation") ⇒ void
This method returns an undefined value.
Check cuRAND status and raise error if not success
108 109 110 111 112 |
# File 'lib/nvruby/random/curand_bindings.rb', line 108 def self.check_status!(status, context = "cuRAND operation") return if status.zero? raise CuRANDError, status end |
.ensure_loaded! ⇒ void
This method returns an undefined value.
Ensure cuRAND is loaded
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/nvruby/random/curand_bindings.rb', line 43 def ensure_loaded! return if @loaded CUDA::LibraryLoader.load_library(:curand) cuda_bin = Ignis.configuration.cuda_bin_path if cuda_bin ffi_lib Dir.glob(File.join(cuda_bin, "curand64_*.dll")).max else ffi_lib "curand64_10" end attach_curand_functions! @loaded = true end |