I/O-Optimal Algorithms for Symmetric Linear Algebra Kernels
In this paper, we consider two fundamental symmetric kernels in linear algebra: the Cholesky factorization and the symmetric rank-k update (SYRK), with the classical three nested loops algorithms for these kernels. In addition, we consider a machine model with a fast memory of size S and an unbounded slow memory. In this model, all computations must be performed on operands in fast memory, and the goal is to minimize the amount of communication between slow and fast memories. As the set of computations is fixed by the choice of the algorithm, only the ordering of the computations (the schedule) directly influences the volume of communications.We prove lower bounds of 1/3√(2)N^3/√(S) for the communication volume of the Cholesky factorization of an N× N symmetric positive definite matrix, and of 1/√(2)N^2M/√(S) for the SYRK computation of A·A, where 𝐀 is an N× M matrix. Both bounds improve the best known lower bounds from the literature by a factor √(2).In addition, we present two out-of-core, sequential algorithms with matching communication volume: for SYRK, with a volume of 1/√(2)N^2M/√(S) + NMlog N, and for Cholesky, with a volume of 1/3√(2)N^3/√(S) + N^5/2. Both algorithms improve over the best known algorithms from the literature by a factor √(2), and prove that the leading terms in our lower bounds cannot be improved further. This work shows that the operational intensity of symmetric kernels like SYRK or Cholesky is intrinsically higher (by a factor √(2)) than that of corresponding non-symmetric kernels (GEMM and LU factorization).
READ FULL TEXT