Skip to content

Supporting a new module for NTT calculation

Latest
Compare
Choose a tag to compare
@seemenkina seemenkina released this 17 Aug 12:02
· 1 commit to main since this release
98226ea

What’s included in the new release:

  • Supporting the new module for NTT calculation

  • FPGA driver loading function corrected

  • Fixed configurations: now there is no problem when using Blaze as configuration libraries are not loaded

🔥 In the new release, we are also attaching a driver binary that you can try out. In this release we support the U250 binary for NTT.

How to use the new module?

As a reference, you can find two tests for NTT in blaze/tests/integration_ntt.rs

The first one is called ntt_test_correctness. Its main function is to check the correctness of one iteration of a calculation. That’s why they use the buffer number for the host and FPGA (kernel).

How to run tesst:

BIN=<path_to_bin> INFNAME=<path_to_binary_input_vector> OUTFNAME=<path_to_binary_output_vector> RUST_LOG=info cargo test -- integration_ntt -- ntt_test_correctness

Note that the input data does not necessarily have to be in the file equivalent. All that is required is a byte vector for the input data - it is used at the set_data function. And also a byte vector with the result at the correctness check stage.

The second test ntt_parallel_test_correctness already fully reveals all the advantages of NTT - we write new vectors in parallel while the computation is going on.

For this test, we need several input/reference values, so to run the test we need to specify the directory:

BIN=<path_to_bin> INDIR=<path_to_dir_with_input_vectors> REFDIR=<path_to_dir_with_ref_vectors> RUST_LOG=info cargo test — integration_ntt — ntt_parallel_test_correctness