@@ -10,6 +10,10 @@ members = [
1010 " stochastic-rs-viz" ,
1111 " stochastic-rs-py" ,
1212]
13+ # Device-only cuda-oxide kernel crate: its own `[workspace]` root (built
14+ # standalone with the cuda-oxide codegen backend to emit NVVM IR), excluded so
15+ # the umbrella workspace does not claim it as a member.
16+ exclude = [" stochastic-rs-stochastic/fgn-oxide-kernels" ]
1317
1418[workspace .package ]
1519version = " 2.3.0"
@@ -90,6 +94,9 @@ cubecl = { version = "0.9.0", default-features = false }
9094cubecl-cuda = " 0.9.0"
9195cubecl-wgpu = " 0.9.0"
9296cudarc = { version = " 0.19.2" , features = [" cuda-12080" , " cuda-version-from-build-system" ] }
97+ cuda-core = { git = " https://github.com/NVlabs/cuda-oxide.git" , rev = " 4a56e4220aab8ce5d085a411e7f806cebb647d14" }
98+ cuda-device = { git = " https://github.com/NVlabs/cuda-oxide.git" , rev = " 4a56e4220aab8ce5d085a411e7f806cebb647d14" }
99+ cuda-host = { git = " https://github.com/NVlabs/cuda-oxide.git" , rev = " 4a56e4220aab8ce5d085a411e7f806cebb647d14" }
93100gpu-fft = " 1.1.1"
94101metal = " 0.33.0"
95102
@@ -140,6 +147,9 @@ cubecl = { workspace = true, optional = true, default-features = false }
140147cubecl-cuda = { workspace = true , optional = true }
141148cubecl-wgpu = { workspace = true , optional = true }
142149cudarc = { workspace = true , optional = true , features = [ " cuda-12080" , " cuda-version-from-build-system" , ] }
150+ cuda-core = { workspace = true , optional = true }
151+ cuda-device = { workspace = true , optional = true }
152+ cuda-host = { workspace = true , optional = true }
143153flate2 = { workspace = true }
144154gpu-fft = { workspace = true , optional = true }
145155gauss-quad = { workspace = true }
@@ -221,6 +231,11 @@ name = "fgn_cuda_native"
221231harness = false
222232required-features = [" cuda-native" ]
223233
234+ [[bench ]]
235+ name = " fgn_cuda_oxide"
236+ harness = false
237+ required-features = [" cuda-oxide-experimental" ]
238+
224239[[bench ]]
225240name = " fgn_cuda_compare"
226241harness = false
@@ -328,6 +343,12 @@ required-features = ["cuda-native"]
328343[features ]
329344ai = [" dep:stochastic-rs-ai" , " stochastic-rs-ai/quant" ]
330345cuda-native = [" dep:cudarc" , " cudarc/cufft" , " stochastic-rs-stochastic/cuda-native" ]
346+ cuda-oxide-experimental = [
347+ " dep:cuda-core" ,
348+ " dep:cuda-device" ,
349+ " dep:cuda-host" ,
350+ " stochastic-rs-stochastic/cuda-oxide-experimental" ,
351+ ]
331352default = []
332353# Experimental: opt in to the dual-stream RNG (`SimdRngDual` /
333354# `SimdNormalDual`). ~5–11% speedup on Ziggurat-based Normal/Exp bulk
0 commit comments