llvm/llvm-project

Implement strategy for loop ordering choice (true compiler starter)

Open

#51,651 建立於 2021年10月25日

在 GitHub 查看
 (10 留言) (0 反應) (1 負責人)C++ (10,782 fork)batch import
bugzillagood first issuemlir:tensor

倉庫指標

Star
 (26,378 star)
PR 合併指標
 (平均合併 1天 2小時) (30 天內合併 1,000 個 PR)

描述

Bugzilla Link 52309
Version unspecified
OS Linux
CC @joker-eph

Extended Description

The sparse compiler uses a topsort to find a suitable loop ordering (following the sparse constraints always, and possibly adding in the dense constraints if this does not yield cycles). However, often we still have an ordering choice, and the way we currently go from conservative ordering to relaxed ordering can possibly be improved. The bug requests investigating and implementing a good strategy for picking a loop order.

Relevant code to start looking at:

Method computeIterationGraph() in https://github.com/llvm/llvm-project/blob/main/mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp

貢獻者指南