  General Sparse Matrix-Matrix Multiplication (SpGEMM) has attracted much
attention from researchers in graph analyzing, scientific computing, and deep
learning. Many optimization techniques have been developed for different
applications and computing architectures over the past decades. The objective
of this paper is to provide a structured and comprehensive overview of the
researches on SpGEMM. Existing researches have been grouped into different
categories based on target architectures and design choices. Covered topics
include typical applications, compression formats, general formulations, key
problems and techniques, architecture-oriented optimizations, and programming
models. The rationales of different algorithms are analyzed and summarized.
This survey sufficiently reveals the latest progress of SpGEMM research to
2021. Moreover, a thorough performance comparison of existing implementations
is presented. Based on our findings, we highlight future research directions,
which encourage better design and implementations in later studies.
