mirror of
https://github.com/logos-storage/constantine.git
synced 2026-01-05 06:33:12 +00:00
GPU compilation targets
For CPUs, Constantine JIT-compiles the cryptographic kernels via LLVM.
This allows targeting several devices with a single frontend, the LLVM IR.
Current use-cases are large scale aggregations, large-scale multi-scalar-multiplications and large-scale FFTs.
Those are important primitives for:
- aggregation of public keys or signatures from a large number of nodes
- protocols based on polynomial commitments
- zero-knowledge proof systems
Potential future use-cases include erasure coding and lattice-based cryptography acceleration.
⚠️ GPU usage is not constant-time and requires allocation of dynamic memory. It MUST NOT be used for secret data.