Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lint fix #109

Closed
wants to merge 190 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
190 commits
Select commit Hold shift + click to select a range
c3dabb1
Merge branch 'master' of https://github.com/weiya711/sam into mapping…
mbstrange2 Oct 26, 2022
ba5ffe5
add in the hacked dot file for sparse accum
mbstrange2 Oct 26, 2022
7ba7237
Merge branch 'master' of https://github.com/weiya711/sam into mapping…
mbstrange2 Jan 11, 2023
da6fafe
updates for running current
mbstrange2 Jan 18, 2023
668f0e8
more updates
mbstrange2 Jan 18, 2023
436f446
force tree dir creation
mbstrange2 Jan 19, 2023
2229a2d
separate run/gen commands
mbstrange2 Jan 19, 2023
f7036d7
Add in fixes for suitesparse_runner script
weiya711 Feb 10, 2023
d485cda
Fixes to suitesparse_runner
weiya711 Feb 10, 2023
f8b0fa5
Add in fix to bench_csv_aggregator
weiya711 Feb 10, 2023
704d00c
Add in info about scripts
weiya711 Feb 10, 2023
f6b558e
Fix a README mistake
weiya711 Feb 10, 2023
394581b
Get md table working
weiya711 Feb 10, 2023
afabcc4
Update README.md
weiya711 Feb 11, 2023
1aaa1f8
update suitesparse to run multiple, get tensor from files use mode map
mbstrange2 Feb 14, 2023
9c3109b
Add in scripts for onyx tiling
weiya711 Feb 17, 2023
5968062
Add in file, oops
weiya711 Feb 17, 2023
166dcbe
update some runtime args
mbstrange2 Feb 20, 2023
18af323
clean dirs
mbstrange2 Mar 6, 2023
49b4aaf
add perf debug option
mbstrange2 Mar 13, 2023
7122a3f
adding more conditions to generate vlog
mbstrange2 Mar 14, 2023
0df5e99
update taco branch
mbstrange2 Apr 6, 2023
e868e63
Add in missing gvs
weiya711 Apr 7, 2023
b4dba5d
Add in fixes to tile script and add in a suitesparse runner
weiya711 Apr 7, 2023
d19b9e5
Merge branch 'master' of https://github.com/weiya711/sam into mapping…
mbstrange2 Apr 7, 2023
f173d61
Merge branch 'mapping_to_cgra' of https://github.com/weiya711/sam int…
mbstrange2 Apr 7, 2023
16c1bbc
pycodestyle
mbstrange2 Apr 7, 2023
9d23f45
cached dot files for onyx
kalhankoul96 Apr 12, 2023
c6cb2c3
add unrolling support
mbstrange2 May 4, 2023
cabba9a
Merge branch 'mapping_to_cgra' of https://github.com/weiya711/sam int…
mbstrange2 May 4, 2023
485bb45
add unrolling by 4 - this will break everything else
mbstrange2 May 4, 2023
ca1b5f0
add support for unrolling and annotating IO nodes
mbstrange2 May 9, 2023
1fca7be
more updates for unroll
mbstrange2 May 10, 2023
cc9667f
Add in elemmul to cpu runs
weiya711 May 26, 2023
473ff3b
Add in mat_elemadd
weiya711 Jun 8, 2023
f0c5da9
Add in frozen pydata/sparse package
weiya711 Jun 8, 2023
420e245
Hopefully this passes
weiya711 Jun 9, 2023
1d1a17b
Fix codestyle to fix CI
weiya711 Jun 9, 2023
ca2a877
Make values positive by default for Onyx runs
weiya711 Jun 9, 2023
88576ca
fixed vals lookup config
kalhankoul96 Jun 13, 2023
6fc10e2
annotate files even with no unroll
mbstrange2 Jun 13, 2023
e40b1ed
allow f tensor
mbstrange2 Jun 14, 2023
ef9e665
cope with empty mode at any level, not just root (workaround)
mbstrange2 Jun 15, 2023
9556295
tiling for apps
Jul 19, 2023
3074ade
mat_mattransmul prob
Jul 19, 2023
5df6eac
setup script added
Jul 19, 2023
ceb4ff1
Add in tiling script to tile tensors for mattransmul. Frostt tensors …
weiya711 Jul 27, 2023
9e1b84d
Add pydata/sparse to requirements for CI
weiya711 Jul 27, 2023
7a06b1f
Update gitignore
weiya711 Jul 27, 2023
1b45a01
Fix pycodestyle for CI
weiya711 Jul 27, 2023
875569d
spmv sparsity sweep stuff
Jul 27, 2023
fc5f466
merge conflict
Jul 27, 2023
37ebc3e
Merge branch 'avb03-tiling' of https://github.com/weiya711/sam into a…
Jul 27, 2023
68f0567
pushing all fixed merge conflicts
Jul 27, 2023
09fb1b0
Add in fixes to tile.py that broke during merge
weiya711 Jul 27, 2023
479a566
formatting scripts mod
Jul 29, 2023
8846e91
mtx vs tns file for vector tiling
Jul 29, 2023
5a0998f
correct tile.py
Jul 29, 2023
91ad37f
orig tile files
Jul 31, 2023
3947620
Add in fixes to get tensor apps working
weiya711 Jul 31, 2023
c8bfae3
Add in correct mat_residual
weiya711 Aug 4, 2023
8f1817f
Add in final onyx tensors used for ISSCC benchmarking
weiya711 Aug 9, 2023
74f6d5e
Rename file
weiya711 Aug 9, 2023
870205d
Change suitesparse file formatting
weiya711 Aug 9, 2023
1f9d877
Add in new suitesparse matrices for onyx_final_eval.txt
weiya711 Aug 11, 2023
d2bdbf8
Update final list of datasets again
weiya711 Aug 14, 2023
c3eb538
current matrix tiling flow
Aug 19, 2023
9c64433
updated matrix tiling flow
Aug 20, 2023
5be8b8f
minor matrix tiling updates
Aug 20, 2023
887b0a5
all matrix apps tiling flow
Aug 22, 2023
0f0b87e
loading in same vectors as CPU
Aug 24, 2023
2232c26
max tilesize matmul
Aug 26, 2023
13de226
Add in matmul with crddrop
weiya711 Aug 28, 2023
7b0234a
Update sam graph for matmul
weiya711 Aug 29, 2023
3050c6e
update compue/merge node to handle crddrop, some pycodestyle fixes
mbstrange2 Aug 29, 2023
7fde12e
Add in triangle counting
weiya711 Sep 1, 2023
65679b3
Add in triangle counting to sam-kernels.sh
weiya711 Sep 1, 2023
7ffc703
Add in pagerank/iter solve
weiya711 Sep 1, 2023
7bdb2d7
Add in graphs needed for more complex expressions:
weiya711 Sep 1, 2023
60f4ad7
input arg setup
Sep 2, 2023
f17e3cf
Add in masked triangle counting partial
weiya711 Sep 2, 2023
19080a3
latest update tiling
Sep 2, 2023
a80b449
helper scripts (need cleanup)
Sep 2, 2023
00d70e4
Add in a fix for mat_vecmul_iter.gv
weiya711 Sep 2, 2023
9f73f16
square matrices for vecmul iter
Sep 3, 2023
a192512
moved to right place
Sep 3, 2023
6c9dbd7
changes for new complex apps
Sep 3, 2023
eeccda9
Add in short spmv iter
weiya711 Sep 3, 2023
4bccd11
Add in graph for mask_tri with fiberwrite to act as bypass
weiya711 Sep 4, 2023
b7afe45
Add in fix to mat_mask_tri_fiberwrite
weiya711 Sep 4, 2023
e74efa6
Fix an oopsies
weiya711 Sep 4, 2023
75f91c5
Add in more fixes to mat_mask_tri_fiberwrite.gv
weiya711 Sep 4, 2023
adcb4f9
Add in T to top tensor
weiya711 Sep 4, 2023
6237885
Fix the 'T' mistake
weiya711 Sep 4, 2023
ab2a10d
Add in format
weiya711 Sep 4, 2023
a1440cd
syn mat
Oct 9, 2023
a50f69d
added new apps
kalhankoul96 Oct 12, 2023
ac0261a
updated new graphs for opal and mapping code to cope with the addtion…
bobcheng15 Oct 13, 2023
0657854
updated the color of max in the graph
bobcheng15 Oct 13, 2023
e4e64a0
updated sam graph mapping code to take the new cmrg_mode signal into …
bobcheng15 Oct 13, 2023
3e78adc
update data type of the default mode value
bobcheng15 Oct 16, 2023
8540155
include sam simulation code that models compression using crddrop
bobcheng15 Oct 17, 2023
313b50a
Merge branch 'mapping_to_cgra_opal' of https://github.com/weiya711/sa…
bobcheng15 Oct 17, 2023
05323c7
fixed style issues that are failing the CI
bobcheng15 Oct 17, 2023
cdbea75
fixed style issues that are failing the CI
bobcheng15 Oct 17, 2023
0fb04fd
removed opal graphs that are not ready yet
bobcheng15 Oct 17, 2023
5dd14cd
added unit test for valdropper
bobcheng15 Oct 17, 2023
aa3d1ed
Merge pull request #96 from weiya711/mapping_to_cgra_opal
kalhankoul96 Oct 18, 2023
8c42d9a
matmul + relu
kalhankoul96 Oct 30, 2023
b014c06
added spmm kernel
bobcheng15 Nov 1, 2023
1cb638a
remove unwanted benchmarks
bobcheng15 Nov 1, 2023
acd05d0
added masked_broadcast and trans_masked_broadcast
bobcheng15 Nov 2, 2023
e63d352
fix style
kalhankoul96 Nov 2, 2023
2d52bfd
Add VR mode config reg hard coded to 0
mcoduoza Nov 3, 2023
1623d46
Merge branch 'mapping_to_cgra' into mcoduoza-vector-accum
mcoduoza Nov 3, 2023
5498dc1
Merge pull request #99 from weiya711/mcoduoza-vector-accum
kalhankoul96 Nov 6, 2023
550fe3f
Merge remote-tracking branch 'origin/mapping_to_cgra' into add_sparse…
bobcheng15 Nov 6, 2023
09490d7
Merge pull request #100 from weiya711/add_sparse_ml_kernel
bobcheng15 Nov 7, 2023
0478df1
Merge branch 'matmul_relu' into cgra_fp_op_support
bobcheng15 Nov 8, 2023
0dafd00
add support for floating point matrix generation and parsing fp_mul f…
bobcheng15 Nov 8, 2023
6a0b322
added support for genearting and dumping fp16 matrices
bobcheng15 Nov 9, 2023
ef31fa3
update configuration code for pe and reduce to account for the new co…
bobcheng15 Nov 15, 2023
d0793dd
update port name for connection from reduce to reduce, also updated t…
bobcheng15 Nov 15, 2023
b39b2b4
fix code style
bobcheng15 Nov 15, 2023
cade108
Merge pull request #101 from weiya711/mapping_to_cgra_update_reduce
bobcheng15 Nov 15, 2023
54c66b7
Add VR SAM updates
mcoduoza Nov 16, 2023
d089dfb
Add missing primitives
mcoduoza Nov 16, 2023
f28f02a
Update spacc tests
mcoduoza Nov 16, 2023
e84a882
New graphs
mcoduoza Nov 17, 2023
a724a56
Revert "Update spacc tests"
mcoduoza Nov 17, 2023
d48e1fc
Revert "New graphs"
mcoduoza Nov 17, 2023
892cda6
Add the graph
mcoduoza Nov 17, 2023
820d6b8
Roll back accumulator.py; owhsu to merge later
mcoduoza Nov 17, 2023
8b313f8
Style fix
mcoduoza Nov 17, 2023
5deea43
Merge pull request #102 from weiya711/vector-accum-mapping
mcoduoza Nov 17, 2023
cc36ddf
Initial attempt at bringing crddrop back
mcoduoza Nov 22, 2023
ef8043b
More connection rules for ikj crddrop support
mcoduoza Nov 22, 2023
b99e4a2
add 'exp' to the list of glb name to be annotated
bobcheng15 Nov 22, 2023
8a3c937
Merge remote-tracking branch 'origin/mapping_to_cgra' into matmul_relu
bobcheng15 Nov 23, 2023
2d9960b
added code to support routing from ComputeNode to Max, added graph fo…
bobcheng15 Nov 25, 2023
09458bb
Update graph to crddrop doesn't block upstream
mcoduoza Nov 26, 2023
c9c0193
Style fix
mcoduoza Nov 26, 2023
428033b
Merge pull request #104 from weiya711/ikj_crddrop_support
mcoduoza Nov 26, 2023
a8cd9a8
Merge branch 'mapping_to_cgra' into matmul_relu
bobcheng15 Nov 26, 2023
279a49c
Merge pull request #103 from weiya711/matmul_relu
bobcheng15 Nov 27, 2023
9c71a5e
Merge branch 'mapping_to_cgra' into exp_glb_config
bobcheng15 Nov 27, 2023
a74f470
add parsing and configuration support for the ops required by exp
bobcheng15 Nov 28, 2023
9698914
Merge branch 'mapping_to_cgra' into cgra_fp_op_support
bobcheng15 Nov 28, 2023
d699636
merged fp_op_support
bobcheng15 Nov 28, 2023
30b1224
added support to configure one of the operand for fp_mul and and as a…
bobcheng15 Nov 28, 2023
f013dd3
update get_matrix_from file function to enable bf16
bobcheng15 Nov 28, 2023
d4e6eeb
Merge branch 'cgra_fp_op_support' of github.com:weiya711/sam into cgr…
bobcheng15 Nov 28, 2023
3ec89e5
Merge branch 'cgra_fp_op_support' into exp_glb_config
bobcheng15 Nov 28, 2023
18e2b2d
fixed bug in decoding the rb_const value for fp_mul and and
bobcheng15 Nov 28, 2023
c82d99e
added graph for spmv and spmv_relu
bobcheng15 Dec 7, 2023
b40ba61
Merge pull request #105 from weiya711/add_sparse_ml_kernel
bobcheng15 Dec 11, 2023
d132d85
added mapping and routing support for fp_max, fp_add and faddiexp ins…
bobcheng15 Dec 14, 2023
ff8f544
update matrix generation code to avoid turning 0 into a very small value
bobcheng15 Dec 14, 2023
e72c606
Merge branch 'mapping_to_cgra' into exp_glb_config
bobcheng15 Dec 14, 2023
3992942
add graph of mat_elemadd_leaky_relu.gv
bobcheng15 Dec 14, 2023
ee9ef68
added lassen to requirements.txt
bobcheng15 Dec 14, 2023
88699fa
added peak to requirements.txt
bobcheng15 Dec 14, 2023
e7dabb5
remove lassen and peak dependencies from requirements.txt and move th…
bobcheng15 Dec 14, 2023
9cb68b7
update peak and lassen installation script
bobcheng15 Dec 14, 2023
973b47d
remove peak and lassen directory after installation so the linter doe…
bobcheng15 Dec 14, 2023
58c43a2
add peak and lassen to the exclude list when running flake8
bobcheng15 Dec 14, 2023
55202c5
add peak and lassen to the exclude list when running flake8
bobcheng15 Dec 14, 2023
6442eb3
fix syntax error in the --exclude argument of flake8
bobcheng15 Dec 14, 2023
e01e93f
fix code stype
bobcheng15 Dec 14, 2023
2c699f9
fixes for suitesparse apps
Dec 14, 2023
b2d3c7d
add crddrops to mat_vecmul
kalhankoul96 Dec 14, 2023
f308aed
merge in tiling branch
kalhankoul96 Dec 18, 2023
c2a4d73
tiling script cleanup
Dec 19, 2023
768f5fa
merged tiling branch with mapping_to_cgra dev branch
kalhankoul96 Dec 19, 2023
9fc0993
Merge pull request #106 from weiya711/exp_glb_config
bobcheng15 Jan 6, 2024
50cd072
added support for multiple tiles
kalhankoul96 Jan 8, 2024
0dc4a47
Merge branch 'mapping_to_cgra' into mapping_to_cgra_suitesparse_fixes
kalhankoul96 Jan 9, 2024
1558668
style fixing
kalhankoul96 Jan 9, 2024
2c067d1
more style cleanup
kalhankoul96 Jan 9, 2024
1134683
more style fixes
kalhankoul96 Jan 9, 2024
cd2dda3
more style fixes
kalhankoul96 Jan 9, 2024
7af1acc
more style fixes
kalhankoul96 Jan 9, 2024
4d03070
more style fixes
kalhankoul96 Jan 9, 2024
0b78457
Merge pull request #107 from weiya711/mapping_to_cgra_suitesparse_fixes
kalhankoul96 Jan 9, 2024
0a24c86
fix import path
kalhankoul96 Jan 10, 2024
8d535b9
updated the graph of spmm_ijk_crdddrop_relu to avoid deadlock in the …
bobcheng15 Jan 11, 2024
2e58788
fixes potential primitve deadlock in the graph of matmul_ijk_crddrop_…
bobcheng15 Jan 11, 2024
7d5cc49
Merge pull request #108 from weiya711/sparse_merge_fixes
bobcheng15 Jan 12, 2024
4f2ef17
tensor tiling
Jan 14, 2024
41da283
fix link
kalhankoul96 Jan 14, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 7 additions & 3 deletions .github/workflows/python-package-conda.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ jobs:
python -m virtualenv venv
source venv/bin/activate
pip install -r requirements.txt
git clone https://github.com/cdonovick/peak.git
pip install -e peak
git clone https://github.com/StanfordAHA/lassen.git
pip install -e lassen
pip install -e .
echo $VIRTUAL_ENV/bin >> $GITHUB_PATH
- name: Test all (non SuiteSparse and Frostt) tests with pytest
Expand All @@ -44,12 +48,12 @@ jobs:
run: |
conda install flake8
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics --exclude venv
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics --exclude venv,peak,lassen
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics --exclude venv
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics --exclude venv,peak,lassen
- name: Python style checking flake8
run: |
flake8 . --count --select=E,W --statistics --ignore=W503,W504 --max-line-length=127 --exclude venv
flake8 . --count --select=E,W --statistics --ignore=W503,W504 --max-line-length=127 --exclude venv,peak,lassen
- name: Check SAM Simulator generating script
run: |
make tests
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,13 @@ suitesparse-bench/
sam-outputs/
compiler/benchmark/

# Generated SAM simulator tests
*/sim/test/apps/test_*.py

# Tensor files
*.mtx
*.tns

# Temporary or generated tensor directories
tmp_mat*/
tiles/
Expand Down
32 changes: 12 additions & 20 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -31,20 +31,20 @@ endif

ifeq ("$(NEVA)","ON")
CMD := OMP_PROC_BIND=true LD_LIBRARY_PATH=compiler/build/lib/:$(LD_LIBRARY_PATH) numactl -C 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 -m 0 compiler/build/taco-bench $(BENCHFLAGS)
export SUITESPARSE_PATH=/nobackup/owhsu/sparse-datasets/suitesparse/
export FROSTT_PATH=/nobackup/owhsu/sparse-datasets/frostt/
export SUITESPARSE_FORMATTED_PATH=/nobackup/owhsu/sparse-datasets/suitesparse-formatted
export FROSTT_FORMATTED_TACO_PATH=/nobackup/owhsu/sparse-datasets/frostt-formatted/taco-tensor
export FROSTT_FORMATTED_PATH=/nobackup/owhsu/sparse-datasets/frostt-formatted
export TACO_TENSOR_PATH=/nobackup/owhsu/sparse-datasets
# export SUITESPARSE_PATH=/nobackup/owhsu/sparse-datasets/suitesparse/
# export FROSTT_PATH=/nobackup/owhsu/sparse-datasets/frostt/
# export SUITESPARSE_FORMATTED_PATH=/nobackup/owhsu/sparse-datasets/suitesparse-formatted
# export FROSTT_FORMATTED_TACO_PATH=/nobackup/owhsu/sparse-datasets/frostt-formatted/taco-tensor
# export FROSTT_FORMATTED_PATH=/nobackup/owhsu/sparse-datasets/frostt-formatted
# export TACO_TENSOR_PATH=/nobackup/owhsu/sparse-datasets
else ifeq ("$(LANKA)", "ON")
CMD := OMP_PROC_BIND=true LD_LIBRARY_PATH=compiler/build/lib/:$(LD_LIBRARY_PATH) numactl -C 0,2,4,6,8,10,24,26,28,30,32,34 -m 0 compiler/build/taco-bench $(BENCHFLAGS)
export SUITESPARSE_PATH=/data/scratch/changwan/florida_all
export FROSTT_PATH=/data/scratch/owhsu/datasets/frostt
export TACO_TENSOR_PATH=/data/scratch/owhsu/datasets
export SUITESPARSE_FORMATTED_PATH=/data/scratch/owhsu/datasets/suitesparse-formatted
export FROSTT_FORMATTED_TACO_PATH=/data/scratch/owhsu/datasets/frostt-formatted/taco-tensor
export FROSTT_FORMATTED_PATH=/data/scratch/owhsu/datasets/frostt-formatted
# export SUITESPARSE_PATH=/data/scratch/changwan/florida_all
# export FROSTT_PATH=/data/scratch/owhsu/datasets/frostt
# export TACO_TENSOR_PATH=/data/scratch/owhsu/datasets
# export SUITESPARSE_FORMATTED_PATH=/data/scratch/owhsu/datasets/suitesparse-formatted
# export FROSTT_FORMATTED_TACO_PATH=/data/scratch/owhsu/datasets/frostt-formatted/taco-tensor
# export FROSTT_FORMATTED_PATH=/data/scratch/owhsu/datasets/frostt-formatted
else
CMD := LD_LIBRARY_PATH=compiler/build/lib/:$(LD_LIBRARY_PATH) compiler/build/taco-bench $(BENCHFLAGS)
endif
Expand Down Expand Up @@ -114,14 +114,6 @@ suitesparse-formats: guard-SUITESPARSE_FORMATTED_PATH guard-SUITESPARSE_PATH
frostt-formats: taco/build guard-FROSTT_FORMATTED_PATH guard-FROSTT_PATH
./scripts/formatting/generate_frostt_formats.sh

.PHONY: env
env:
export SUITESPARSE_PATH=/nobackup/owhsu/sparse-datasets/suitesparse/
export FROSTT_PATH=/nobackup/owhsu/sparse-datasets/frostt/
export SUITESPARSE_FORMATTED_PATH=/nobackup/owhsu/sparse-datasets/suitesparse-formatted
export FROSTT_FORMATTED_TACO_PATH=/nobackup/owhsu/sparse-datasets/frostt-formatted/taco-tensor
export FROSTT_FORMATTED_PATH=/nobackup/owhsu/sparse-datasets/frostt-formatted

.PHONY: pydepends
pydepends:
conda env export > environment.yml
Expand Down
14 changes: 13 additions & 1 deletion compiler/baseline.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -315,7 +315,8 @@ enum SuiteSparseOp {
SDDMM = 4,
MATTRANSMUL = 5,
RESIDUAL = 6,
MMADD = 7
MMADD = 7,
MMMUL = 8
};

std::string opName(SuiteSparseOp op) {
Expand All @@ -341,6 +342,9 @@ std::string opName(SuiteSparseOp op) {
case MMADD: {
return "mmadd";
}
case MMMUL: {
return "mmmul"
}
default:
return "";
}
Expand Down Expand Up @@ -467,6 +471,13 @@ static void bench_suitesparse(benchmark::State &state, SuiteSparseOp op, int fil
result(i, j) = ssTensor(i, j) + otherShifted(i, j);
break;
}
case MMMUL: {
result = Tensor<int64_t>("result", ssTensor.getDimensions(), ssTensor.getFormat(), fill_value);

IndexVar i, j, k;
result(i, j) = ssTensor(i, j) * otherShifted(i, j);
break;
}
case MATTRANSMUL: {
result = Tensor<int64_t>("result", {DIM1}, Format(Sparse), fill_value);

Expand Down Expand Up @@ -516,4 +527,5 @@ static void bench_suitesparse(benchmark::State &state, SuiteSparseOp op, int fil
// TODO: need to fix for DCSC for this
TACO_BENCH_ARGS(bench_suitesparse, mat_mattransmul, MATTRANSMUL);
TACO_BENCH_ARGS(bench_suitesparse, matmul_spmm, SPMM);
TACO_BENCH_ARGS(bench_suitesparse, mat_elemmul, MMMUL);

12 changes: 12 additions & 0 deletions compiler/sam-kernels.sh
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,12 @@ GEN_KERNEL_NAMES=(
mat_spacc_simple
vec_sd_compression_WRONG
vec_ds_compression_WRONG
vec_sub
mat_mask_tri
mat_mask_tri_partial
mat_vecmul_iter
mat_vecmul_iter_short
tensor3_website_expr
)

HAND_KERNEL_NAMES=(
Expand Down Expand Up @@ -83,6 +89,12 @@ TACO_ARGS=(
"X(j,k)=B(i,j,k) -f=X:ss -f=B:sss"
"x(i)=b(i) -f=b:s -f=x:d"
"x(i)=b(i) -f=b:d -f=x:s"
"x(i)=b(i)-c(i) -f=b:s -f=c:s"
"x=B(i,j)*C(i,k)*D(k,j) -f=B:ss -f=C:ss -f=D:ss:1,0 -s=reorder(i,j,k)"
"X(i,j)=B(i,j)*C(i,k)*D(k,j) -f=X:ss -f=B:ss -f=C:ss -f=D:ss:1,0 -s=reorder(i,j,k)"
"x(i)=B(i,j)*C(j,k)*D(k,l)*E(l,m)*f(m) -f=x:s -f=B:ss -f=C:ss -f=D:ss -f=E:ss -f=f:s -s=reorder(i,j,k,l,m)"
"x(i)=B(i,j)*C(j,k)*d(k) -f=x:s -f=B:ss -f=C:ss -f=d:s -s=reorder(i,j,k)"
"x=B(i)*C(j)*D(i,j,k)*E(j,l)*F(l,m,n) -f=B:s -f=C:s -f=D:sss -f=E:ss -f=F:sss -s=reorder(i,j,k,l,m,n)"
)

mkdir -p $dir
Expand Down
62 changes: 62 additions & 0 deletions compiler/sam-outputs/dot/mat_mask_tri.gv
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
digraph SAM {
comment="x=none,B=ss01,C=ss01,D=ss10"
22 [comment="type=fiberlookup,index=i,tensor=B,mode=0,format=compressed,src=true,root=true" label="FiberLookup i: B0\ncompressed" color=green4 shape=box style=filled type="fiberlookup" index="i" tensor="B" mode="0" format="compressed" src="true" root="true"]
21 [comment="type=intersect,index=i" label="intersect i" color=purple shape=box style=filled type="intersect" index="i"]
20 [comment="type=repsiggen,index=i" label="RepeatSignalGenerator i" color=cyan3 shape=box style=filled type="repsiggen" index="i"]
19 [comment="type=repeat,index=i,tensor=D,root=true" label="Repeat i: D" color=cyan2 shape=box style=filled type="repeat" index="i" tensor="D" root="true"]
18 [comment="type=fiberlookup,index=j,tensor=D,mode=1,format=compressed,src=true,root=false" label="FiberLookup j: D1\ncompressed" color=green4 shape=box style=filled type="fiberlookup" index="j" tensor="D" mode="1" format="compressed" src="true" root="false"]
16 [comment="type=intersect,index=j" label="intersect j" color=purple shape=box style=filled type="intersect" index="j"]
15 [comment="type=repsiggen,index=j" label="RepeatSignalGenerator j" color=cyan3 shape=box style=filled type="repsiggen" index="j"]
14 [comment="type=repeat,index=j,tensor=C,root=false" label="Repeat j: C" color=cyan2 shape=box style=filled type="repeat" index="j" tensor="C" root="false"]
12 [comment="type=fiberlookup,index=k,tensor=C,mode=1,format=compressed,src=true,root=false" label="FiberLookup k: C1\ncompressed" color=green4 shape=box style=filled type="fiberlookup" index="k" tensor="C" mode="1" format="compressed" src="true" root="false"]
11 [comment="type=intersect,index=k" label="intersect k" color=purple shape=box style=filled type="intersect" index="k"]
10 [comment="type=repsiggen,index=k" label="RepeatSignalGenerator k" color=cyan3 shape=box style=filled type="repsiggen" index="k"]
9 [comment="type=repeat,index=k,tensor=B,root=false" label="Repeat k: B" color=cyan2 shape=box style=filled type="repeat" index="k" tensor="B" root="false"]
6 [comment="type=arrayvals,tensor=B" label="Array Vals: B" color=green2 shape=box style=filled type="arrayvals" tensor="B"]
5 [comment="type=mul" label="Mul" color=brown shape=box style=filled type="mul"]
4 [comment="type=mul" label="Mul" color=brown shape=box style=filled type="mul"]
3 [comment="type=reduce" label="Reduce" color=brown shape=box style=filled type="reduce"]
2 [comment="type=reduce" label="Reduce" color=brown shape=box style=filled type="reduce"]
1 [comment="type=reduce" label="Reduce" color=brown shape=box style=filled type="reduce"]
0 [comment="type=fiberwrite,mode=vals,tensor=x,size=1,sink=true" label="FiberWrite Vals: x" color=green3 shape=box style=filled type="fiberwrite" tensor="x" mode="vals" size="1" sink="true"]
7 [comment="type=arrayvals,tensor=C" label="Array Vals: C" color=green2 shape=box style=filled type="arrayvals" tensor="C"]
8 [comment="type=arrayvals,tensor=D" label="Array Vals: D" color=green2 shape=box style=filled type="arrayvals" tensor="D"]
13 [comment="type=fiberlookup,index=k,tensor=D,mode=0,format=compressed,src=true,root=false" label="FiberLookup k: D0\ncompressed" color=green4 shape=box style=filled type="fiberlookup" index="k" tensor="D" mode="0" format="compressed" src="true" root="false"]
17 [comment="type=fiberlookup,index=j,tensor=B,mode=1,format=compressed,src=true,root=false" label="FiberLookup j: B1\ncompressed" color=green4 shape=box style=filled type="fiberlookup" index="j" tensor="B" mode="1" format="compressed" src="true" root="false"]
23 [comment="type=fiberlookup,index=i,tensor=C,mode=0,format=compressed,src=true,root=true" label="FiberLookup i: C0\ncompressed" color=green4 shape=box style=filled type="fiberlookup" index="i" tensor="C" mode="0" format="compressed" src="true" root="true"]
22 -> 21 [label="crd_in-B" style=dashed type="crd" comment="in-B"]
21 -> 20 [label="crd" style=dashed type="crd"]
20 -> 19 [label="repsig" style=dotted type="repsig"]
19 -> 18 [label="ref" style=bold type="ref"]
18 -> 16 [label="crd_in-D" style=dashed type="crd" comment="in-D"]
16 -> 15 [label="crd" style=dashed type="crd"]
15 -> 14 [label="repsig" style=dotted type="repsig"]
14 -> 12 [label="ref" style=bold type="ref"]
12 -> 11 [label="crd_in-C" style=dashed type="crd" comment="in-C"]
11 -> 10 [label="crd" style=dashed type="crd"]
10 -> 9 [label="repsig" style=dotted type="repsig"]
9 -> 6 [label="ref" style=bold type="ref"]
6 -> 5 [label="val" type="val"]
5 -> 4 [label="val" type="val"]
4 -> 3 [label="val" type="val"]
3 -> 2 [label="val" type="val"]
2 -> 1 [label="val" type="val"]
1 -> 0 [label="val" type="val"]
11 -> 7 [label="ref_out-C" style=bold type="ref" comment="out-C"]
7 -> 5 [label="val" type="val"]
11 -> 8 [label="ref_out-D" style=bold type="ref" comment="out-D"]
8 -> 4 [label="val" type="val"]
12 -> 11 [label="ref_in-C" style=bold type="ref" comment="in-C"]
16 -> 9 [label="ref_out-B" style=bold type="ref" comment="out-B"]
16 -> 13 [label="ref_out-D" style=bold type="ref" comment="out-D"]
13 -> 11 [label="crd_in-D" style=dashed type="crd" comment="in-D"]
13 -> 11 [label="ref_in-D" style=bold type="ref" comment="in-D"]
18 -> 16 [label="ref_in-D" style=bold type="ref" comment="in-D"]
21 -> 17 [label="ref_out-B" style=bold type="ref" comment="out-B"]
17 -> 16 [label="crd_in-B" style=dashed type="crd" comment="in-B"]
17 -> 16 [label="ref_in-B" style=bold type="ref" comment="in-B"]
21 -> 14 [label="ref_out-C" style=bold type="ref" comment="out-C"]
22 -> 21 [label="ref_in-B" style=bold type="ref" comment="in-B"]
23 -> 21 [label="crd_in-C" style=dashed type="crd" comment="in-C"]
23 -> 21 [label="ref_in-C" style=bold type="ref" comment="in-C"]
}
Loading
Loading