← Research

MICRO 2019 / sparse acceleration

ExTensor: An Accelerator for Sparse Tensor Algebra

Kartik Hegde, Hadi Asghari-Moghaddam, Michael Pellauer, Neal C. Crago, Aamer Jaleel, Edgar Solomonik, Joel S. Emer, and Christopher W. Fletcher

Diagram comparing sparsity ranges across tensor workloads
Sparsity ranges across representative tensor workloads.

Sparse tensor programs waste work and memory bandwidth when their operands do not overlap. ExTensor finds useful intersections early and avoids moving or computing on values that cannot contribute to the result.

Tensor workloads contain sparsity ranging from nearly dense to only a few non-zero values. ExTensor accelerates this range by hierarchically eliminating ineffective computation. Its hardware searches rapidly for intersections where both operands are non-zero, then fetches and computes only the relevant data. Evaluation across five sparse tensor kernels shows improved bandwidth use and throughput relative to optimized CPU libraries and tensor algebra compilers.