stwo-gpu 2.0.0

GPU-accelerated Circle STARK prover and verifier — ObelyZK fork of STWO with CUDA/Metal backend
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
name = "stwo-gpu"
version = "2.0.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "GPU-accelerated Circle STARK prover and verifier — ObelyZK fork of STWO with CUDA/Metal backend"
readme = false
license = "Apache-2.0"
repository = "https://github.com/Bitsage-Network/obelyzk.rs"

[package.metadata.cargo-machete]
ignored = ["stwo-std-shims"]

[features]
cuda-runtime = [
    "gpu",
    "parallel",
    "cudarc",
    "aes-gcm",
    "getrandom",
]
default = ["std"]
gpu = []
multi-gpu = ["cuda-runtime"]
parallel = [
    "rayon",
    "indexmap/rayon",
]
prover = [
    "std",
    "tracing/attributes",
]
slow-tests = []
std = [
    "blake2/std",
    "blake3/std",
    "hex/std",
    "itertools/use_std",
    "indexmap/std",
    "num-traits/std",
    "starknet-crypto/std",
    "thiserror/std",
    "tracing/std",
    "serde/std",
    "tracing-subscriber/std",
    "stwo-std-shims/std",
]
tracing = []

[lib]
name = "stwo_gpu"
crate-type = ["lib"]
path = "src/lib.rs"
bench = false

[[example]]
name = "cuda_streams_benchmark"
path = "examples/cuda_streams_benchmark.rs"

[[example]]
name = "e2e_starknet_proof"
path = "examples/e2e_starknet_proof.rs"

[[example]]
name = "gpu_real_stark_proof"
path = "examples/gpu_real_stark_proof.rs"

[[example]]
name = "gpu_vs_simd_real_benchmark"
path = "examples/gpu_vs_simd_real_benchmark.rs"

[[example]]
name = "h100_comprehensive_benchmark"
path = "examples/h100_comprehensive_benchmark.rs"

[[example]]
name = "large_proof_benchmark"
path = "examples/large_proof_benchmark.rs"

[[example]]
name = "multi_gpu_benchmark"
path = "examples/multi_gpu_benchmark.rs"

[[example]]
name = "obelysk_production_benchmark"
path = "examples/obelysk_production_benchmark.rs"

[[example]]
name = "true_multi_gpu_benchmark"
path = "examples/true_multi_gpu_benchmark.rs"

[[test]]
name = "gpu_integration_tests"
path = "tests/gpu_integration_tests.rs"

[[test]]
name = "gpu_unit_tests"
path = "tests/gpu_unit_tests.rs"

[[bench]]
name = "barycentric_eval_at_point"
path = "benches/barycentric_eval_at_point.rs"
harness = false
required-features = ["prover"]

[[bench]]
name = "bit_rev"
path = "benches/bit_rev.rs"
harness = false
required-features = ["prover"]

[[bench]]
name = "eval_at_point"
path = "benches/eval_at_point.rs"
harness = false
required-features = ["prover"]

[[bench]]
name = "eval_at_point_by_folding"
path = "benches/eval_at_point_by_folding.rs"
harness = false
required-features = ["prover"]

[[bench]]
name = "fft"
path = "benches/fft.rs"
harness = false
required-features = ["prover"]

[[bench]]
name = "field"
path = "benches/field.rs"
harness = false
required-features = ["prover"]

[[bench]]
name = "fri"
path = "benches/fri.rs"
harness = false
required-features = ["prover"]

[[bench]]
name = "lookups"
path = "benches/lookups.rs"
harness = false
required-features = ["prover"]

[[bench]]
name = "merkle"
path = "benches/merkle.rs"
harness = false
required-features = ["prover"]

[[bench]]
name = "pcs"
path = "benches/pcs.rs"
harness = false
required-features = ["prover"]

[[bench]]
name = "prefix_sum"
path = "benches/prefix_sum.rs"
harness = false
required-features = ["prover"]

[dependencies.aes-gcm]
version = "0.10"
optional = true

[dependencies.blake2]
version = "0.10.6"
default-features = false

[dependencies.blake3]
version = "1.5.0"
default-features = false

[dependencies.bytemuck]
version = "1.14.3"
features = [
    "derive",
    "extern_crate_alloc",
]
default-features = false

[dependencies.cfg-if]
version = "1.0.0"

[dependencies.dashmap]
version = "6.1.0"

[dependencies.educe]
version = "0.5.0"

[dependencies.fnv]
version = "1.0.7"
default-features = false

[dependencies.getrandom]
version = "0.2"
optional = true

[dependencies.hashbrown]
version = ">=0.15.2"
features = ["serde"]

[dependencies.hex]
version = "0.4.3"
features = ["alloc"]
default-features = false

[dependencies.indexmap]
version = "2.10.0"
default-features = false

[dependencies.itertools]
version = "0.12"
features = ["use_alloc"]
default-features = false

[dependencies.lazy_static]
version = "1.4"

[dependencies.num-traits]
version = "0.2.19"
default-features = false

[dependencies.rand]
version = "0.8.5"
features = ["small_rng"]
default-features = false

[dependencies.rayon]
version = "1.10.0"
optional = true

[dependencies.serde]
version = "1.0"
features = ["derive"]
default-features = false

[dependencies.starknet-crypto]
version = "0.6.2"
features = ["alloc"]
default-features = false

[dependencies.starknet-ff]
version = "0.3.7"
features = [
    "alloc",
    "serde",
]
default-features = false

[dependencies.stwo-std-shims]
version = "1.0.0"
default-features = false

[dependencies.thiserror]
version = "2.0.12"
default-features = false

[dependencies.tracing]
version = "0.1.40"
default-features = false

[dependencies.tracing-subscriber]
version = "0.3.18"
default-features = false

[dev-dependencies.aligned]
version = "0.4.2"

[dev-dependencies.test-log]
version = "0.2.15"
features = ["trace"]

[target.'cfg(all(target_family = "wasm", not(target_os = "wasi")))'.dev-dependencies.wasm-bindgen-test]
version = "0.3.43"

[target.'cfg(all(target_os = "linux", target_arch = "x86_64"))'.dependencies.cudarc]
version = "0.11"
features = [
    "driver",
    "nvrtc",
    "cuda-12050",
]
optional = true

[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.criterion]
version = "0.5.1"
features = ["html_reports"]

[target.'cfg(target_arch = "wasm32")'.dev-dependencies.criterion]
version = "0.5.1"
features = ["html_reports"]
default-features = false

[target.'cfg(target_os = "macos")'.dependencies.cudarc]
version = "0.11"
features = [
    "driver",
    "nvrtc",
]
optional = true

[lints.clippy]
missing_const_for_fn = "warn"

[lints.rust]
future-incompatible = "deny"
nonstandard-style = "deny"
rust-2018-idioms = "deny"