Skip to content

[WIP] Index tree rewrite#57

Open
AK2000 wants to merge 32 commits into
pnnl:masterfrom
AK2000:IndexTreeRewrite
Open

[WIP] Index tree rewrite#57
AK2000 wants to merge 32 commits into
pnnl:masterfrom
AK2000:IndexTreeRewrite

Conversation

@AK2000

@AK2000 AK2000 commented May 15, 2024

Copy link
Copy Markdown
Collaborator

Rewriting Index Tree to make information more explicit in IR. Hope is that this will facilitate easier understanding and engineering, with more modular code changes.
An initial list of the changes made and left to be done. Some of these might be better served after the initial PR is finished

  • Reorganize tree into a top down structure. Enforces single parent constraint explicitly
  • Created domain type in IR to represent iteration domain of each index variable
  • Created pass to infer concrete domains from uses of the index variables in tensors
  • Created "real" sparse tensor type from what was a C predicate
  • Created workspace type
  • Created sparse tensor conversion pass which lower operations on sparse tensors and workspaces
  • Rewrite fusion pass with new index tree
  • Support "union" iteration domain for addition indices without same sparsity pattern
  • Integrate tile format information

This branch also needs to be perfomance tested before merge.

AK2000 added 23 commits November 1, 2023 11:06
@gkestor gkestor requested review from gkestor and pthomadakis June 4, 2024 21:04
@AK2000

AK2000 commented Jun 19, 2024

Copy link
Copy Markdown
Collaborator Author

Certain tests are still failing. Some of these are expected, since they did not work correctly before. Others need to be fixed before merge:

Failed Tests:

  • kernels/triangleCount_SandiaLL.ta
  • ops/eltwise_mult_DCSRxDense_oDCSR.ta
  • compound_exps/CSR_mult_spTranspose_CSR.ta
  • compound_exps/spTranspose_CSR_eltwise_CSR.ta
  • compound_exps/spTranspose_CSR_mult_CSR.ta
  • opts/chain_mult_factorize.ta

Expected to Fail because of elementwise "addition":

  • ops/eltwise_subtract_CSRxCSR_oCSR.ta
  • ops/eltwise_add_CSRxCSR_oCSR.ta
  • semiring/eltwise_monoidPlus_COOxDense_oCOO.ta
  • semiring/mm_SemiringMinFirst_CSRxCSR_oCSR.ta
  • semiring/mm_SemiringMinPlus_CSRxCSR_oCSR.ta
  • semiring/mm_SemiringMinSecond_CSRxCSR_oCSR.ta
  • semiring/mm_SemiringPlusFirst_CSRxCSR_oCSR.ta
  • semiring/mm_SemiringPlusSecond_CSRxCSR_oCSR.ta

Expected to Fail because Masking

  • ops/mult_spgemm_CSRxCSR_oCSR_wMasking.ta
  • kernels/triangleCount_SandiaLL_wMasking.ta

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant