Minimizing I/O in Toom-Cook Algorithms
摘要
Long integer multiplication is a fundamental kernel in many linear algebra and cryptography computations. Toom-Cook-k ( \(k \in \mathbb {N}\) ) are a family of fast long integer multiplication algorithms frequently used in many applications, particularly for small k sizes (2, 3, and 4). Previous studies focus on minimizing Toom-Cook’s arithmetic cost, sometimes at the expense of asymptotically higher communication costs and memory footprint. For many high-performance computing applications, the bottleneck is communication rather than arithmetic. We propose new versions of Toom-Cook-k algorithms that simultaneously reduce their arithmetic cost, communication cost, and memory footprint. We obtain these results by utilizing the alternative basis and Toom-Graph techniques. The arithmetic costs of the new algorithms are only slightly higher than that of the best previous solution, while the communication costs and memory footprint are significantly reduced and proved to be optimal.