cuda-rust-wasm 0.1.6

CUDA to Rust transpiler with WebGPU/WASM support
Documentation
[package]
name = "cuda-wasm"
version = "0.1.0"
edition = "2021"
authors = ["CUDA-WASM Team"]
description = "High-performance CUDA to WebAssembly/WebGPU transpiler - Run GPU kernels in browsers and Node.js"
license = "MIT OR Apache-2.0"
repository = "https://github.com/ruvnet/ruv-FANN"
homepage = "https://github.com/ruvnet/ruv-FANN/tree/main/cuda-wasm"
documentation = "https://docs.rs/cuda-wasm"
readme = "README.md"
keywords = ["cuda", "webassembly", "wasm", "webgpu", "gpu"]
categories = ["development-tools", "web-programming", "wasm", "rendering::graphics-api"]

[badges]
maintenance = { status = "actively-developed" }

[lib]
name = "cuda_wasm"
crate-type = ["cdylib", "rlib"]
path = "src/lib.rs"

# Use the same dependencies as cuda-rust-wasm
[dependencies]
# Core dependencies
thiserror = "1.0"
anyhow = "1.0"
clap = { version = "4.4", features = ["derive"] }

# Parser dependencies
nom = "7.1"
logos = "0.14"
syn = "2.0"
quote = "1.0"
proc-macro2 = "1.0"

# Async runtime
tokio = { version = "1.35", features = ["rt", "sync", "time"], default-features = false }
futures = "0.3"

# Serialization
serde = { version = "1.0", features = ["derive"], optional = true }
serde_json = { version = "1.0", optional = true }
bincode = { version = "1.3", optional = true }

# GPU backends
wgpu = { version = "0.19", features = ["webgl", "webgpu"] }
bytemuck = { version = "1.14", features = ["derive"] }

# Memory management
parking_lot = "0.12"
crossbeam = "0.8"

# Logging and debugging
log = "0.4"
env_logger = "0.11"
tracing = "0.1"
tracing-subscriber = "0.3"
rand = "0.8"
num-traits = "0.2.19"
pollster = "0.4.0"
async-trait = "0.1.88"

# WebAssembly support
[target.'cfg(target_arch = "wasm32")'.dependencies]
wasm-bindgen = "0.2"
wasm-bindgen-futures = "0.4"
web-sys = { version = "0.3", features = [
    "console",
    "Window",
    "Document",
    "Element",
    "HtmlCanvasElement",
    "WebGl2RenderingContext",
    "GpuDevice",
    "GpuQueue",
    "GpuBuffer",
    "GpuTexture",
    "GpuShaderModule",
    "GpuComputePipeline",
    "GpuBindGroup",
    "GpuBindGroupLayout",
    "GpuCommandEncoder",
    "GpuComputePassEncoder",
] }
js-sys = "0.3"
console_error_panic_hook = "0.1"
tokio = { version = "1.35", features = ["rt", "sync", "time"], default-features = false }
wgpu = { version = "0.19", features = ["webgl"] }
getrandom = { version = "0.2", features = ["js"] }

[features]
default = ["serde"]
serde = ["dep:serde", "dep:serde_json", "dep:bincode"]
native-gpu = []
webgpu-only = []
debug-transpiler = []
wasm-simd = []
optimized-build = []
parallel-compilation = []

[[bin]]
name = "cuda2rust"
path = "src/bin/cuda2rust.rs"

[profile.release]
lto = true
opt-level = 3
codegen-units = 1

[profile.wasm]
inherits = "release"
opt-level = "z"
lto = "fat"
codegen-units = 1
strip = true
panic = "abort"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]