Skip to main content

Module simd

Module simd 

Source

Structs§

CosineStateless
A pure Cosine Similarity function that provides a final reduction.
FullCosineAccumulator
Accumulator of partial products for a full cosine distance computation (where the norms of both the query and the dataset vector are computed on the fly).
IP
L2
L1Norm
Loader
A utility struct to help with SIMD loading.
Resumable
ResumableCosine
A resumable cosine similarity computation.
ResumableIP
ResumableL2
Strategy1x1
An inner loop implementation strategy using 1 parallel instances of the schema accumulator with a manual inner loop unroll of 1.
Strategy2x1
An inner loop implementation strategy using 2 parallel instances of the schema accumulator with a manual inner loop unroll of 1.
Strategy2x4
An inner loop implementation strategy using 2 parallel instances of the schema accumulator with a manual inner loop unroll of 4.
Strategy4x1
An inner loop implementation strategy using 4 parallel instances of the schema accumulator with a manual inner loop unroll of 1.
Strategy4x2
An inner loop implementation strategy using 4 parallel instances of the schema accumulator with a manual inner loop unroll of 2.

Traits§

LossyF32Conversion
A helper trait to allow integer to f32 conversion (which may be lossy).
MainLoop
A representation of the main unrolled-loop for SIMD kernels.
ResumableSIMDSchema
In some contexts - it can be beneficial to begin a computation on one pair of slices and then store intermediate state for resumption on another pair of slices.
SIMDSchema
An interface trait for SIMD operations.

Functions§

simd_op
A SIMD executor for binary ops using the provided SIMDSchema.