[all-commits] [llvm/llvm-project] 1485fd: [mlir] [VectorOps] Improve scatter/gather CPU perf...

Aart Bik via All-commits all-commits at lists.llvm.org
Wed Jul 22 23:48:01 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 1485fd295b2ab7fde3bf8d3ce33912c8a5fe1105
      https://github.com/llvm/llvm-project/commit/1485fd295b2ab7fde3bf8d3ce33912c8a5fe1105
  Author: aartbik <ajcbik at google.com>
  Date:   2020-07-22 (Wed, 22 Jul 2020)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/VectorOps.td
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir

  Log Message:
  -----------
  [mlir] [VectorOps] Improve scatter/gather CPU performance

Replaced the linearized address with the proper LLVM way of
defining vector of base + indices in SIMD style. This yields
much better code. Some prototype results with microbencmarking
sparse matrix x vector with 50% sparsity (about 2-3x faster):

         LINEARIZED     IMPROVED
GFLOPS  sdot  saxpy     sdot saxpy
16x16    1.6   1.4       4.4  2.1
32x32    1.7   1.6       5.8  5.9
64x64    1.7   1.7       6.4  6.4
128x128  1.7   1.7       5.9  5.9
256x256  1.6   1.6       6.1  6.0
512x512  1.4   1.4       4.9  4.7

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D84368




More information about the All-commits mailing list