cuda_rust_wasm/backend/
mod.rs1pub mod backend_trait;
4pub mod native_gpu;
5pub mod webgpu;
6pub mod webgpu_optimized;
7pub mod wasm_runtime;
8
9pub use backend_trait::{BackendTrait, BackendCapabilities};
10
11pub use backend_trait::BackendTrait as Backend;
13
14pub fn get_backend() -> Box<dyn Backend> {
16 #[cfg(target_arch = "wasm32")]
17 {
18 Box::new(webgpu::WebGPUBackend::new())
19 }
20
21 #[cfg(not(target_arch = "wasm32"))]
22 {
23 #[cfg(feature = "cuda-backend")]
24 {
25 if native_gpu::is_cuda_available() {
26 return Box::new(native_gpu::NativeGPUBackend::new());
27 }
28 }
29
30 Box::new(wasm_runtime::WasmRuntime::new())
32 }
33}