Expand description
Host-side application to use the FPGA-side application.
Cyclone MSM currently only supports the G1 curve of BLS12-377. MSM instances of size up to 27 are supported.
Steps:
- preprocess points, stream to FPGA
- precompute scalars, stream to FPGA column-wise
- gather and aggregate column sums
The idea is that in practical use, the points are fixed, whereas the scalars vary per instance. Therefore, the lengthy preprocessing of points is amortized, whereas the precomputation needs to be done efficiently for each instance.
Modules§
- app
- Host-side app to interact with FPGA app.
- bls12_
377 - Preprocessed form of BLS12-377 G1 curve.
- io
- Load and store points efficiently.
- precompute
- Scalar precomputation.
- preprocess
- Point preprocessing.
- testing
- Generate test instances.
- timing
- Timing utilities.
Structs§
Enums§
- Command
- Commands for MSM column processing.
Functions§
- fpga
- FPGA constructor, independent of “hw” feature.