llvm/llvm-project

Implement sparse kernel benchmarks (moderate level, independent, starter)

Open

#51.650 aberto em 25 de out. de 2021

Ver no GitHub
 (7 comments) (0 reactions) (1 assignee)C++ (10.782 forks)batch import
bugzillaconfirmedgood first issuemlir:llvmmlir:sparsetensor

Métricas do repositório

Stars
 (26.378 stars)
Métricas de merge de PR
 (Mesclagem média 1d 2h) (1.000 fundiu PRs em 30d)

Description

Bugzilla Link 52308
Version unspecified
OS Linux
CC @joker-eph,@SaurabhJha

Extended Description

The sparse compiler relies on FileCheck based tests (https://github.com/llvm/llvm-project/tree/main/mlir/test/Dialect/SparseTensor) and "regression" test (https://github.com/llvm/llvm-project/tree/main/mlir/test/Integration/Dialect/SparseTensor/CPU). These tests make sure that the generated IR is as expected and that the lowering runs "end to end". Most of these tests were developed in conjunction with particular features while they were being added.

However, we don't have any benchmarks to measure the performance of the generated code (and make sure this performance does not regress by later changes to the sparse compiler).

The entry requests adding such benchmarks to MLIR, which requires (1) investigating the typical way in which LLVM at large integrates benchmarks (2) find interesting sparse kernels to implement and measure (3) integrate such tests in a continuous build (or at least frequently run system)

This can act as a good independent start (since it does not require intimate knowledge of the inner workings of MLIR's sparse compiler). The level is medium, however, since the engineering work is non-trivial.

Guia do colaborador