aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/InitPreprocessor.cpp
diff options
context:
space:
mode:
authorAart Bik <ajcbik@google.com>2022-02-23 16:22:42 -0800
committerAart Bik <ajcbik@google.com>2022-02-23 17:29:41 -0800
commit652b39b46f85ad826a20d3e0cec5d0db91b43daf (patch)
tree04ba4a6a508262207c2c028d29fdc1d831cb504c /clang/lib/Frontend/InitPreprocessor.cpp
parent3e3e79a9e4c378b59f5f393f556e6a84edcd8898 (diff)
downloadllvm-652b39b46f85ad826a20d3e0cec5d0db91b43daf.zip
llvm-652b39b46f85ad826a20d3e0cec5d0db91b43daf.tar.gz
llvm-652b39b46f85ad826a20d3e0cec5d0db91b43daf.tar.bz2
[mlir][sparse][linalg] add linalg rewriting specific to sparse tensors
Now that sparse tensor types are first-class citizens and the sparse compiler is taking shape, it is time to make sure other compiler optimizations compose well with sparse tensors. Mostly, this should be completely transparent (i.e., dense and sparse take the same path). However, in some cases, optimizations only make sense in the context of sparse tensors. This is a first example of such an optimization, where fusing a sampled elt-wise multiplication only makes sense when the resulting kernel has a potential lower asymptotic complexity due to the sparsity. As an extreme example, running SDDMM with 1024x1024 matrices and a sparse sampling matrix with only two elements runs in 463.55ms in the unfused case but just 0.032ms in the fused case, with a speedup of 14485x that is only possible in the exciting world of sparse computations! Reviewed By: mravishankar Differential Revision: https://reviews.llvm.org/D120429
Diffstat (limited to 'clang/lib/Frontend/InitPreprocessor.cpp')
0 files changed, 0 insertions, 0 deletions