ab_proof_of_space_gpu/lib.rs
1//! Proof of space plotting utilities for GPU (Vulkan/Metal).
2//!
3//! Just like in `ab-proof-of-space`, max supported `K` within range `15..=25` due to internal data
4//! structures used.
5
6#![cfg_attr(target_arch = "spirv", no_std)]
7#![feature(array_chunks)]
8// TODO: Remove after https://github.com/Rust-GPU/rust-gpu/pull/249
9#![cfg_attr(target_arch = "spirv", feature(generic_arg_infer, non_null_from_ref))]
10
11// This is used for benchmarks of isolated shaders externally, not for general use
12#[doc(hidden)]
13pub mod shader;
14
15// TODO: Remove gate after https://github.com/Rust-GPU/rust-gpu/pull/249
16#[cfg(not(target_arch = "spirv"))]
17use ab_core_primitives::pos::PosProof;
18
19// TODO: Remove gate after https://github.com/Rust-GPU/rust-gpu/pull/249
20#[cfg(not(target_arch = "spirv"))]
21const _: () = {
22 assert!(PosProof::K >= 15 && PosProof::K <= 25);
23};