[package]
name = "ministark-gpu"
repository = "https://github.com/andrewmilson/ministark"
homepage = "https://github.com/andrewmilson/ministark/tree/main/gpu-poly"
description = "GPU optimized primitives commonly used by STARK/SNARK provers"
keywords = ["gpu", "snark", "stark", "arkworks", "winterfell"]
categories = ["cryptography"]
version = "0.3.0"
edition = "2021"
license = "MIT"
readme = "README.md"
[dependencies]
once_cell = "1.15"
ark-ff = { version = "0.4", optional = true }
ark-ff-optimized = { version = "0.4", optional = true }
ark-poly = { version = "0.4", optional = true }
ark-serialize = { version = "0.4", optional = true }
ark-std = { version = "0.4", optional = true }
rayon = { version = "1.5", optional = true }
winter-math = { version = "0.8", optional = true }
zeroize = { version = "1", default-features = false, features = [
"zeroize_derive",
], optional = true }
rand = "0.8"
[features]
default = []
std = []
gpu_vec = []
winterfell = ["dep:winter-math"]
arkworks = [
"dep:ark-ff",
"dep:ark-ff-optimized",
"dep:ark-serialize",
"dep:ark-poly",
"dep:ark-std",
"dep:zeroize",
]
parallel = ["dep:rayon", "dep:ark-std"]
[target.'cfg(all(target_arch = "aarch64", target_os = "macos"))'.dependencies]
metal = "0.25"
[dev-dependencies]
criterion = "0.4"
pollster = "0.2"
rand = "0.8"
[[bench]]
name = "fft"
path = "benches/fft.rs"
required-features = ["arkworks"]
harness = false