| Crates.io | poulpy-backend |
| lib.rs | poulpy-backend |
| version | 0.2.1 |
| created_at | 2025-08-17 12:51:42.202964+00 |
| updated_at | 2025-09-15 17:16:16.904322+00 |
| description | A crate providing concrete implementations of poulpy-hal through its open extension points |
| homepage | https://github.com/phantomzone-org/poulpy |
| repository | https://github.com/phantomzone-org/poulpy |
| max_upload_size | |
| id | 1799387 |
| size | 2,194,709 |
Poulpy-Backend is a Rust crate that provides concrete implementations of poulpy-hal. This crate is used to instantiate projects implemented with poulpy-hal, poulpy-core and/or poulpy-schemes.
This module provides a CPU AVX2 accelerated backend through C bindings over spqlios-arithmetic.
FFT64 backendNTT120 backendThis backend is built and compiled automatically and has been tested on wsl/ubuntu.
cmake is invoked automatically by the build script (build.rs) when compiling the crate./build/cpu_spqlios.rsbuild.rs.Spqlios-arithmetic is windows/mac compatible but building for those platforms is slightly different (see spqlios-arithmetic/wiki/build) and has not been tested in Poulpy.
use poulpy_backend::cpu_spqlios::FFT64;
use poulpy_hal::{api::ModuleNew, layouts::Module};
let log_n: usize = 10;
let module = Module<FFT64> = Module<FFT64>::new(1<<log_n);
To add a backend, implement the open extension traits from poulpy-hal/oep for a struct that implements the Backend trait.
This will automatically make your backend compatible with the API of poulpy-hal, poulpy-core and poulpy-schemes.