[package]
name = "gpufft"
description = "Unified GPU-accelerated FFT for Rust: Vulkan via VkFFT, CUDA via cuFFT."
version.workspace = true
edition.workspace = true
rust-version.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
documentation.workspace = true
keywords = ["fft", "gpu", "vulkan", "cuda", "cufft"]
categories = ["science", "hardware-support", "mathematics"]
readme = "README.md"
build = "build.rs"
include = [
"/src/**/*",
"/shaders/**/*",
"/build.rs",
"/Cargo.toml",
"/README.md",
]
[features]
default = ["vulkan"]
vulkan = ["dep:gpufft-vulkan-sys", "dep:ash"]
cuda = ["dep:gpufft-cuda-sys"]
[dependencies]
bytemuck.workspace = true
log.workspace = true
num-complex.workspace = true
thiserror.workspace = true
gpufft-vulkan-sys = { workspace = true, optional = true }
ash = { workspace = true, optional = true }
gpufft-cuda-sys = { workspace = true, optional = true }
[dev-dependencies]
approx = { version = "0.5", default-features = false, features = ["std"] }
env_logger = "0.11"
rustfft = "6"
[[bench]]
name = "r2c_c2r"
harness = false
required-features = ["vulkan", "cuda"]
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[lints]
workspace = true