  Several manufacturers have already started to commercialize near-bank
Processing-In-Memory (PIM) architectures. Near-bank PIM architectures place
simple cores close to DRAM banks and can yield significant performance and
energy improvements in parallel applications by alleviating data access costs.
Real PIM systems can provide high levels of parallelism, large aggregate memory
bandwidth and low memory access latency, thereby being a good fit to accelerate
the widely-used, memory-bound Sparse Matrix Vector Multiplication (SpMV)
kernel.
  This paper provides the first comprehensive analysis of SpMV on a real-world
PIM architecture, and presents SparseP, the first SpMV library for real PIM
architectures. We make two key contributions. First, we design efficient SpMV
algorithms to accelerate the SpMV kernel in current and future PIM systems,
while covering a wide variety of sparse matrices with diverse sparsity
patterns. Second, we provide the first comprehensive analysis of SpMV on a real
PIM architecture. Specifically, we conduct our rigorous experimental analysis
of SpMV kernels in the UPMEM PIM system, the first publicly-available
real-world PIM architecture. Our extensive evaluation provides new insights and
recommendations for software designers and hardware architects to efficiently
accelerate the SpMV kernel on real PIM systems. For more information about our
thorough characterization on the SpMV PIM execution, results, insights and the
open-source SparseP software package [26], we refer the reader to the full
version of the paper [3, 4]. The SparseP software package is publicly and
freely available at https://github.com/CMU-SAFARI/SparseP.
