Modular SIMD arithmetic in Mathemagix

Joris Van Der Hoeven, Grégoire Lecerf, Guillaume Quintin
2016 ACM Transactions on Mathematical Software  
Modular integer arithmetic occurs in many algorithms for computer algebra, cryptography, and error correcting codes. Although recent microprocessors typically offer a wide range of highly optimized arithmetic functions, modular integer operations still require dedicated implementations. In this article, we survey existing algorithms for modular integer arithmetic, and present detailed vectorized counterparts. We also present several applications, such as fast modular Fourier transforms and
more » ... plication of integer polynomials and matrices. The vectorized algorithms have been implemented in C++ inside the free computer algebra and analysis system Mathemagix. The performance of our implementation is illustrated by various benchmarks.
doi:10.1145/2876503 fatcat:jfnjpisdanh5plurfmsoiz6tfi