Skip to main content

Crate binius_compute

Crate binius_compute 

Source
Expand description

Buffer pooling for prover working memory.

The prover allocates many large, short-lived buffers. BufferPool recycles freed blocks instead of returning them to the global allocator, handing out PoolVec buffers that return their block to the pool on drop. See the buffer_pool module for the concrete implementation.

Allocator and VecLike abstract over that machinery: an Allocator hands out VecLike buffers, letting the prover’s allocation code be written against &impl Allocator rather than a concrete pool. &BufferPool is the primary Allocator, producing PoolVec buffers.

CollectIntoAllocVec is the rayon seam over the same machinery: it collects a parallel iterator straight into one of those buffers.

Re-exports§

pub use buffer_pool::BufferPool;
pub use buffer_pool::PoolVec;

Modules§

buffer_pool
A pool that recycles the prover’s large, short-lived working buffers.

Structs§

GlobalAllocator
An Allocator that hands out ordinary heap-allocated Vecs.

Traits§

Allocator
A source of VecLike buffers.
BufferData
Backing store of a binius_math::FieldBuffer that can be shrunk in place.
CollectIntoAllocVec
Collects a parallel iterator into a buffer drawn from an Allocator.
VecLike
A growable, Vec-like buffer.