Publication | Open Access
Modular SIMD arithmetic in Mathemagix
16
Citations
0
References
2014
Year
Hardware SecurityModular Integer OperationsArray ComputingEngineeringComputational Number TheoryModular IntegerModular FormComputer ArchitectureModulus ProblemVector ProcessingParallel ProgrammingComputer ScienceParallel ComputingInteger PolynomialsResidue SystemModular Simd ArithmeticVectorization
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 multiplication 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.