[package]
edition = "2021"
name = "aprender-gpu"
version = "0.29.0"
authors = ["Pragmatic AI Labs"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Pure Rust PTX generation for NVIDIA CUDA - no LLVM, no nvcc"
readme = "README.md"
keywords = [
"cuda",
"ptx",
"gpu",
"simd",
"nvidia",
]
categories = [
"algorithms",
"mathematics",
"science",
]
license = "MIT"
repository = "https://github.com/paiml/trueno"
[package.metadata.wasm-pack.profile.release]
wasm-opt = false
[features]
cuda = ["dep:libloading"]
default = []
gpu-pixels = [
"dep:jugar-probar",
"dep:presentar-core",
"dep:presentar-terminal",
"dep:crossterm",
]
metal = ["dep:manzana"]
stress-test = [
"dep:simular",
"dep:renacer",
]
tui-monitor = [
"stress-test",
"dep:presentar-core",
"dep:presentar-terminal",
"dep:crossterm",
]
viz = ["dep:trueno-viz"]
wasm = ["dep:wasm-bindgen"]
wgpu = ["dep:wgpu"]
[lib]
name = "trueno_gpu"
crate-type = [
"cdylib",
"rlib",
]
path = "src/lib.rs"
[[test]]
name = "argmax_falsification_f114"
path = "tests/argmax_falsification_f114/main.rs"
[[test]]
name = "batched_attention_falsification"
path = "tests/batched_attention_falsification/main.rs"
[[test]]
name = "batched_softmax_falsification"
path = "tests/batched_softmax_falsification.rs"
[[test]]
name = "coverage_ptx_generators"
path = "tests/coverage_ptx_generators.rs"
[[test]]
name = "f081_minimal_crash"
path = "tests/f081_minimal_crash.rs"
[[test]]
name = "f082_falsification"
path = "tests/f082_falsification/main.rs"
[[test]]
name = "fkr_008_smem_base_validity"
path = "tests/fkr_008_smem_base_validity.rs"
[[test]]
name = "fkr_010_minimal_smem"
path = "tests/fkr_010_minimal_smem.rs"
[[test]]
name = "fkr_011_direct_shared"
path = "tests/fkr_011_direct_shared.rs"
[[test]]
name = "fkr_012_debug_buffer"
path = "tests/fkr_012_debug_buffer.rs"
[[test]]
name = "fkr_101_debug"
path = "tests/fkr_101_debug/main.rs"
[[test]]
name = "golden_elementwise_kernels"
path = "tests/golden_elementwise_kernels.rs"
[[test]]
name = "golden_kernel_generators"
path = "tests/golden_kernel_generators/main.rs"
[[test]]
name = "golden_ptx_advanced"
path = "tests/golden_ptx_advanced/main.rs"
[[test]]
name = "golden_ptx_builder"
path = "tests/golden_ptx_builder/main.rs"
[[test]]
name = "gpu_pixels"
path = "tests/gpu_pixels.rs"
[[test]]
name = "gpu_resident_tensor"
path = "tests/gpu_resident_tensor/main.rs"
[[test]]
name = "kernel_validation"
path = "tests/kernel_validation.rs"
[[test]]
name = "loop_splitting_f051"
path = "tests/loop_splitting_f051.rs"
[[test]]
name = "lz4_fkr"
path = "tests/lz4_fkr.rs"
[[test]]
name = "lz4_hash_table_fkr"
path = "tests/lz4_hash_table_fkr.rs"
[[test]]
name = "memory_coalescing_f034"
path = "tests/memory_coalescing_f034.rs"
[[test]]
name = "metal_backend_f101"
path = "tests/metal_backend_f101.rs"
[[test]]
name = "pixel_fkr"
path = "tests/pixel_fkr/main.rs"
[[test]]
name = "rocm_backend_f111"
path = "tests/rocm_backend_f111.rs"
[[test]]
name = "token_sync_f066"
path = "tests/token_sync_f066.rs"
[[bench]]
name = "ptx_gen"
path = "benches/ptx_gen.rs"
harness = false
[dependencies.batuta-common]
version = "0.1"
[dependencies.crossterm]
version = "0.28"
optional = true
[dependencies.libloading]
version = "0.8"
optional = true
[dependencies.presentar-core]
version = "0.3"
optional = true
[dependencies.presentar-terminal]
version = "0.3"
optional = true
[dependencies.renacer]
version = "0.10"
optional = true
[dependencies.simular]
version = "0.2.0"
optional = true
[dependencies.thiserror]
version = "2.0"
[dependencies.trueno-viz]
version = "0.1.4"
optional = true
[dependencies.wasm-bindgen]
version = "0.2"
optional = true
[dependencies.wgpu]
version = "24"
optional = true
[dev-dependencies.bytemuck]
version = "1.21"
features = ["derive"]
[dev-dependencies.criterion]
version = "0.7"
[dev-dependencies.pollster]
version = "0.4"
[dev-dependencies.proptest]
version = "1.9"
[dev-dependencies.simular]
version = "0.2.0"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.jugar-probar]
version = "0.4.0"
optional = true
[target.'cfg(target_os = "linux")'.dev-dependencies.renacer]
version = "0.10"
[target.'cfg(target_os = "macos")'.dependencies.manzana]
version = "0.2.0"
optional = true
[lints.rust]
unsafe_code = "allow"