Litcius/Paper detail

IMpress: Large Integer Multiplication Expression Rewriting for FPGA HLS

Ecenur Ustun, İsmail San, Jiaqi Yin, Cunxi Yu, Zhiru Zhang

202230 citationsDOI

Abstract

Large integer multiplication is becoming a major challenge for FPGA-based acceleration of many cryptographic applications. Existing techniques for decomposing and optimizing large integer multiplication bring about nontrivial trade-offs between different resource types as well as performance. In this work, we regard determining the level and order of multiplication decomposition as a phase ordering problem, which is a notable problem in compiler optimization. Our framework, IMpress, leverages equality saturation to automatically produce a wide range of equivalent integer multiplication expressions corresponding to various hardware implementations. We devise constrained and multi-objective extraction techniques to automatically choose the optimal expressions based on the resource requirements of a given application. IMpress automatically translates extracted integer multiplication expressions into behavioral descriptions in C++ and initiates FPGA compilation through high-level synthesis. IMpress offers significant control over resource utilization and balance, and it increases the maximum number of instances of cryptographic applications on FPGA.

Topics & Concepts

Field-programmable gate arrayComputer scienceInteger (computer science)Multiplication (music)RewritingCompilerCryptographyParallel computingArithmeticTheoretical computer scienceEmbedded systemAlgorithmMathematicsProgramming languageCombinatoricsParallel Computing and Optimization TechniquesEmbedded Systems Design TechniquesInterconnection Networks and Systems
IMpress: Large Integer Multiplication Expression Rewriting for FPGA HLS | Litcius