[package] name = "sunscreen_math" version = "0.8.0" edition = "2021" authors = ["Sunscreen"] rust-version = "1.56.0" license = "AGPL-3.0-only" description = "This crate contains GPU implementations that support the Sunscreen compiler." homepage = "https://sunscreen.tech" repository = "https://github.com/Sunscreen-tech/Sunscreen" documentation = "https://docs.sunscreen.tech" keywords = ["FHE", "BFV", "lattice", "cryptography"] categories = ["cryptography"] readme = "crates-io.md" [dependencies] bytemuck = { workspace = true, optional = true } lazy_static = { workspace = true } metal = { workspace = true, optional = true } rand = { workspace = true } curve25519-dalek = { workspace = true } rayon = { workspace = true } ocl = { workspace = true, optional = true } futures = { workspace = true, optional = true } tokio = { workspace = true, optional = true } wgpu = { workspace = true, optional = true } cust = { workspace = true, optional = true } num = { workspace = true } crypto-bigint = { workspace = true } paste = { workspace = true } thiserror = { workspace = true } sunscreen_math_macros = { workspace = true } [build-dependencies] naga = { workspace = true, optional = true } wgpu-core = { workspace = true, optional = true } ocl = { workspace = true, optional = true } find_cuda_helper = { workspace = true, optional = true } [dev-dependencies] bytemuck = { workspace = true } criterion = { workspace = true } [features] default = [] nightly-features = [] cuda = ["dep:find_cuda_helper", "dep:cust", "gpu"] metal = ["dep:metal", "gpu"] webgpu = [ "dep:wgpu", "dep:tokio", "dep:futures", "dep:naga", "dep:wgpu-core", "dep:bytemuck", "gpu", ] opencl = ["dep:ocl", "gpu"] gpu = [] pina = [] [[bench]] name = "gpu" harness = false [[bench]] name = "cpu" harness = false