EAGL: An Elliptic Curve Arithmetic GPU-Based Library for Bilinear Pairing
Additional Document Info
In this paper we present the Elliptic curve Arithmetic GPU-based Library (EAGL), a self-contained GPU library, to support parallel computing of bilinear pairings based on the Compute Unified Device Architecture (CUDA) programming model. It implements parallelized point arithmetic, arithmetic functions in the 1-2-4-12 tower of extension fields. EAGL takes full advantage of the parallel processing power of GPU, with no shared memory bank conflict and minimal synchronization and global memory accesses, to compute some most expensive computational steps, especially the conventional-Montgomery-based multi-precision multiplications. At the 128-bit security level, EAGL can perform 3350.9 R-ate pairings/sec on one GTX-680 controlled by one CPU thread. Extensive experiments suggest that performance tradeoffs between utilization of GPU pipeline vs. memory access latency are highly complex for parallelization of pairing computations. Overall, on-chip memory is the main performance bottleneck for pairing computations on the tested GPU device, and the lazy reduction in double-struck Fq2 gives the best performance. Increasing the size of on-chip memory, together with caching and memory prefetching modules are expected to offer substantial performance improvement for GPU-based pairing computations. 2014 Springer International Publishing.