NTT
Last updated
Last updated
The Number Theoretic Transform (NTT) operation is used to convert an array of finite field elements representing a polynomial between coefficient and evaluation forms. The cuSnark library wraps Supranational's NTT implementation.
The following table outlines the performance improvements yielded with just the cuSnark NTT employed, showing the (CPU baseline) and accelerated results for the different proof stages in a set of proofs of various sizes. Times are in seconds, obtained on a AMD EPYC 7702 64-Core Processor with 4x NVIDIA GeForce RTX 3090 (24 GB) GPUs.
Initialization
(6.04) 6.16
(1.40) 1.41
Generate Instance
(0.05) 0.05
(1.05) 1.05
Generate Advice
(381.78) 379.87
(6.68) 4.07
Generate Lookups
(57.99) 58.24
(2.10) 1.86
Commit Permutations
(146.59) 117.29
(23.72) 13.74
Eval_h
(1069.09) 696.53
(66.55) 66.75
Compute Evaluations
(9.81) 9.58
(35.75) 6.10
Multiopen
(18.71) 18.76
(28.82) 11.61
Total
(1690.05) 1380.08
(166.10) 124.82