Efficient Multiplication of Dense Matrices over GF(2)
arXiv:0811.1714 · doi:10.1145/1644001.1644010
Abstract
We describe an efficient implementation of a hierarchy of algorithms for multiplication of dense matrices over the field with two elements (GF(2)). In particular we present our implementation -- in the M4RI library -- of Strassen-Winograd matrix multiplication and the "Method of the Four Russians" multiplication (M4RM) and compare it against other available implementations. Good performance is demonstrated on on AMD's Opteron and particulary good performance on Intel's Core 2 Duo. The open-source M4RI library is available stand-alone as well as part of the Sage mathematics software. In machine terms, addition in GF(2) is logical-XOR, and multiplication is logical-AND, thus a machine word of 64-bits allows one to operate on 64 elements of GF(2) in parallel: at most one CPU cycle for 64 parallel additions or multiplications. As such, element-wise operations over GF(2) are relatively cheap. In fact, in this paper, we conclude that the actual bottlenecks are memory reads and writes and issues of data locality. We present our empirical findings in relation to minimizing these and give an analysis thereof.
References in corpus (1)
Cited by in corpus (9)
- Supervised machine learning to estimate instabilities in chaotic systems: estimation of local Lyapunov exponents
- Bitslicing and the Method of Four Russians Over Larger Finite Fields
- Efficient Dense Gaussian Elimination over the Finite Field with Two Elements
- Variant Codes Based on A Special Polynomial Ring and Their Fast Computations
- Multiplying boolean Polynomials with Frobenius Partitions in Additive Fast Fourier Transform
- Fast matrix decomposition in F2
- Efficient Decomposition of Dense Matrices over GF(2)
- A parallel algorithm for Gaussian elimination over finite fields
- A streamlined demonstration that stabilizer circuits simulation reduces to Boolean linear algebra