模多项式乘法的自动生成库
Automatic Library Generation for Modular Polynomial Multiplication
摘要:
多项式乘法是计算机代数系统的关键算法,其有效实现对提高计算机代数系统的性能至关重要。在本文中,我们设计和实现算法的多项式乘法使用的方法的基础上的快速傅立叶变换(FFT)和截断傅立叶变换(TFT)。我们在理论和实践性能上都在最先进的基础上进行了改进。扩展了{ \SPIRAL }库生成系统,并使用新的和现有的算法自动生成和调整多项式乘法库的性能,该多项式乘法库针对存储层次结构、向量化和多线程进行了优化。性能调优得到了自动化的帮助,自动化生成了许多代码选择,并利用智能搜索来找到给定体系结构上的“最佳”实现。自动调优实现的性能与最好的手动调优代码相当,在某些情况下甚至更好。
英文摘要:
Polynomial multiplication is a key algorithm underlying computer algebra systems (CAS) and its efficient implementation is crucial for the performance of CAS. In this paper we design and implement algorithms for polynomial multiplication using approaches based the fast Fourier transform (FFT) and the truncated Fourier transform (TFT). We improve on the state-of-the-art in both theoretical and practical performance. The {\SPIRAL} library generation system is extended and used to automatically generate and tune the performance of a polynomial multiplication library that is optimized for memory hierarchy, vectorization and multi-threading, using new and existing algorithms. The performance tuning has been aided by the use of automation where many code choices are generated and intelligent search is utilized to find the "best" implementation on a given architecture. The performance of autotuned implementations is comparable to, and in some cases better than, the best hand-tuned code.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。