├── .github └── workflows │ └── scala.yml ├── .gitignore ├── .hook.yaml ├── .scalafmt.conf ├── .vscode ├── launch.json └── settings.json ├── LICENSE ├── Makefile ├── README.md ├── bin └── run-dahlia ├── docs ├── array-access-visualizer.md ├── assets │ └── banked-1d.png ├── binders.md ├── cheat.md ├── cli-compile.md ├── cpp-runnable.md ├── headers.md ├── imports.md ├── install.md ├── literals.md ├── overview.md ├── testing.md ├── text-editors.md └── types.md ├── file-tests ├── cpp-out │ ├── convolution-1d.expect │ ├── convolution-with-aligned-view.expect │ ├── dot-product-with-array-literal.expect │ ├── dot-product.expect │ ├── for-reversed.expect │ ├── local.expect │ ├── matadd-fixed-point.expect │ ├── matadd.expect │ ├── nd-array-passed-to-function.expect │ ├── records.expect │ └── split-example.expect ├── data │ ├── atax.expect │ ├── atax.fuse.data.json │ ├── convolution-1d.expect │ ├── convolution-1d.fuse.data.json │ ├── convolution-with-aligned-view.expect │ ├── convolution-with-aligned-view.fuse.data.json │ ├── def-with-memory.expect │ ├── def-with-memory.fuse.data.json │ ├── dot-product-with-array-literal.expect │ ├── dot-product-with-array-literal.fuse.data.json │ ├── dot-product.expect │ ├── dot-product.fuse.data.json │ ├── for-reversed.expect │ ├── for-reversed.fuse.data.json │ ├── local.expect │ ├── local.fuse.data.json │ ├── matadd-fixed-point.expect │ ├── matadd-fixed-point.fuse.data.json │ ├── matadd.expect │ ├── matadd.fuse.data.json │ ├── mv-unroll.expect │ ├── mv-unroll.fuse.data.json │ ├── nd-array-passed-to-function.expect │ ├── nd-array-passed-to-function.fuse.data.json │ ├── records.expect │ ├── records.fuse.data.json │ ├── split-example.expect │ └── split-example.fuse.data.json ├── parent-map │ ├── block.expect │ ├── block.fuse │ ├── dot-product.expect │ ├── dot-product.fuse │ ├── nested.expect │ └── nested.fuse ├── should-compile │ ├── fully-unrolled-matrix-vector-mul.fuse │ ├── function.fuse │ ├── general-matrix-multiply-one-unroll.fuse │ ├── matadd.fuse │ ├── vsadd.fuse │ └── vvadd.fuse ├── should-futil │ ├── emit-signed-op.expect │ ├── emit-signed-op.fuse │ ├── fixed-point-constant.expect │ ├── fixed-point-constant.fuse │ ├── fixed-point-multi-cycle.expect │ ├── fixed-point-multi-cycle.fuse │ ├── for-multi-dim.expect │ ├── for-multi-dim.fuse │ ├── for.expect │ ├── for.fuse │ ├── invoke-with-fixed-point.expect │ ├── invoke-with-fixed-point.fuse │ ├── invoke-with-memories.expect │ ├── invoke-with-memories.fuse │ ├── invoke.expect │ ├── invoke.fuse │ ├── sequentialize-reduce.expect │ ├── sequentialize-reduce.fuse │ ├── use-plus-equals.expect │ └── use-plus-equals.fuse ├── should-lower-run │ ├── atax.fuse │ ├── def-with-memory.fuse │ ├── dot-product.fuse │ ├── matadd-fixed-point.fuse │ ├── matadd.fuse │ ├── mv-unroll.fuse │ └── records.fuse ├── should-lower │ ├── hoist.expect │ ├── hoist.fuse │ ├── lower-constant-access.expect │ ├── lower-constant-access.fuse │ ├── mat.expect │ ├── mat.fuse │ ├── nested.expect │ ├── nested.fuse │ ├── scopes.expect │ ├── scopes.fuse │ ├── sequentialize-nested-par.expect │ └── sequentialize-nested-par.fuse ├── should-run │ ├── convolution-1d.fuse │ ├── convolution-with-aligned-view.fuse │ ├── dot-product-with-array-literal.fuse │ ├── dot-product.fuse │ ├── for-reversed.fuse │ ├── local.fuse │ ├── matadd-fixed-point.fuse │ ├── matadd.fuse │ ├── nd-array-passed-to-function.fuse │ ├── records.fuse │ └── split-example.fuse └── vivado-out │ ├── fully-unrolled-matrix-vector-mul.expect │ ├── function.expect │ ├── general-matrix-multiply-one-unroll.expect │ ├── matadd.expect │ ├── vsadd.expect │ └── vvadd.expect ├── fuse ├── notes ├── .gitignore ├── Makefile ├── README.md ├── appendix.md ├── banking.md ├── combine.md ├── extra.css ├── footer.html ├── header.html ├── img │ ├── images.rkt │ ├── row-imp-dyn-stride.png │ ├── row-imp-iterator-step.png │ ├── row-slice-invalid.png │ ├── row-slice-stride.png │ ├── row-slice.png │ ├── row-view-seq.png │ ├── row-view-stride.png │ ├── row-view.png │ └── two-dim-slice.png ├── index.md ├── indextype.md ├── logicalmemoryaccess.md ├── modd.conf ├── old │ ├── capabilities.md │ ├── index.md │ ├── matmul.md │ ├── multaccess.md │ ├── views-and-slices.md │ ├── vsadd.md │ └── vvadd.md ├── seashellintro.md ├── spatial.md ├── tutorial │ ├── hwtute-01.md │ ├── hwtute-02.md │ └── index.md └── view.md ├── project ├── assembly.sbt ├── build.properties └── plugins.sbt ├── runt.toml ├── src ├── main │ ├── resources │ │ └── headers │ │ │ └── parser.cpp │ └── scala │ │ ├── Compiler.scala │ │ ├── GenerateExec.scala │ │ ├── Main.scala │ │ ├── Parser.scala │ │ ├── Utils.scala │ │ ├── backends │ │ ├── Backend.scala │ │ ├── CppLike.scala │ │ ├── CppRunnable.scala │ │ ├── VivadoBackend.scala │ │ └── calyx │ │ │ ├── Ast.scala │ │ │ ├── Backend.scala │ │ │ └── Helpers.scala │ │ ├── common │ │ ├── Checker.scala │ │ ├── CodeGenHelpers.scala │ │ ├── Configuration.scala │ │ ├── Document.scala │ │ ├── EnvHelpers.scala │ │ ├── Errors.scala │ │ ├── Logger.scala │ │ ├── MultiSet.scala │ │ ├── Pretty.scala │ │ ├── ScopeMap.scala │ │ ├── ScopedSet.scala │ │ ├── Syntax.scala │ │ └── Transformer.scala │ │ ├── passes │ │ ├── AddBitWidth.scala │ │ ├── BoundsCheck.scala │ │ ├── DependentLoops.scala │ │ ├── HoistMemoryReads.scala │ │ ├── HoistSlowBinop.scala │ │ ├── LoopCheck.scala │ │ ├── LowerForLoops.scala │ │ ├── LowerUnroll.scala │ │ ├── RewriteView.scala │ │ ├── Sequentialize.scala │ │ └── WellFormedCheck.scala │ │ └── typechecker │ │ ├── AffineCheck.scala │ │ ├── AffineEnv.scala │ │ ├── CapabilityChecker.scala │ │ ├── CapabilityEnv.scala │ │ ├── Gadget.scala │ │ ├── Info.scala │ │ ├── Subtyping.scala │ │ ├── TypeCheck.scala │ │ └── TypeEnv.scala ├── project │ └── build.properties └── test │ └── scala │ ├── ParsingPositive.scala │ ├── TestUtils.scala │ └── TypeCheckerSpec.scala ├── tools ├── array-access-visualizer │ ├── examples.rkt │ ├── gemm-blocked.rkt │ ├── image-gen-helpers.rkt │ ├── let-matrix.rkt │ ├── matrix-visualizer.rkt │ └── paper-images.rkt ├── emacs │ ├── README.md │ └── fuse-mode │ │ └── fuse-mode.el └── vim │ └── fuse │ ├── README.md │ ├── ftdetect │ └── fuse.vim │ └── syntax │ └── fuse.vim └── website ├── .gitignore ├── Makefile ├── core └── Footer.js ├── package.json ├── sidebars.json ├── siteConfig.js └── static ├── css ├── code-block-buttons.css └── custom.css ├── img ├── dahlia-compiler.svg └── dahlia-logo.png ├── index.html └── js └── code-block-buttons.js /.github/workflows/scala.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/.github/workflows/scala.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/.gitignore -------------------------------------------------------------------------------- /.hook.yaml: -------------------------------------------------------------------------------- 1 | deploy: onbuild make website 2 | -------------------------------------------------------------------------------- /.scalafmt.conf: -------------------------------------------------------------------------------- 1 | version = "3.8.0" 2 | align.tokens = [] 3 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/.vscode/launch.json -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/README.md -------------------------------------------------------------------------------- /bin/run-dahlia: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/bin/run-dahlia -------------------------------------------------------------------------------- /docs/array-access-visualizer.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/docs/array-access-visualizer.md -------------------------------------------------------------------------------- /docs/assets/banked-1d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/docs/assets/banked-1d.png -------------------------------------------------------------------------------- /docs/binders.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/docs/binders.md -------------------------------------------------------------------------------- /docs/cheat.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/docs/cheat.md -------------------------------------------------------------------------------- /docs/cli-compile.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/docs/cli-compile.md -------------------------------------------------------------------------------- /docs/cpp-runnable.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/docs/cpp-runnable.md -------------------------------------------------------------------------------- /docs/headers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/docs/headers.md -------------------------------------------------------------------------------- /docs/imports.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/docs/imports.md -------------------------------------------------------------------------------- /docs/install.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/docs/install.md -------------------------------------------------------------------------------- /docs/literals.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/docs/literals.md -------------------------------------------------------------------------------- /docs/overview.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/docs/overview.md -------------------------------------------------------------------------------- /docs/testing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/docs/testing.md -------------------------------------------------------------------------------- /docs/text-editors.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/docs/text-editors.md -------------------------------------------------------------------------------- /docs/types.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/docs/types.md -------------------------------------------------------------------------------- /file-tests/cpp-out/convolution-1d.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/cpp-out/convolution-1d.expect -------------------------------------------------------------------------------- /file-tests/cpp-out/convolution-with-aligned-view.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/cpp-out/convolution-with-aligned-view.expect -------------------------------------------------------------------------------- /file-tests/cpp-out/dot-product-with-array-literal.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/cpp-out/dot-product-with-array-literal.expect -------------------------------------------------------------------------------- /file-tests/cpp-out/dot-product.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/cpp-out/dot-product.expect -------------------------------------------------------------------------------- /file-tests/cpp-out/for-reversed.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/cpp-out/for-reversed.expect -------------------------------------------------------------------------------- /file-tests/cpp-out/local.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/cpp-out/local.expect -------------------------------------------------------------------------------- /file-tests/cpp-out/matadd-fixed-point.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/cpp-out/matadd-fixed-point.expect -------------------------------------------------------------------------------- /file-tests/cpp-out/matadd.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/cpp-out/matadd.expect -------------------------------------------------------------------------------- /file-tests/cpp-out/nd-array-passed-to-function.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/cpp-out/nd-array-passed-to-function.expect -------------------------------------------------------------------------------- /file-tests/cpp-out/records.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/cpp-out/records.expect -------------------------------------------------------------------------------- /file-tests/cpp-out/split-example.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/cpp-out/split-example.expect -------------------------------------------------------------------------------- /file-tests/data/atax.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/data/atax.expect -------------------------------------------------------------------------------- /file-tests/data/atax.fuse.data.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/data/atax.fuse.data.json -------------------------------------------------------------------------------- /file-tests/data/convolution-1d.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/data/convolution-1d.expect -------------------------------------------------------------------------------- /file-tests/data/convolution-1d.fuse.data.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/data/convolution-1d.fuse.data.json -------------------------------------------------------------------------------- /file-tests/data/convolution-with-aligned-view.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/data/convolution-with-aligned-view.expect -------------------------------------------------------------------------------- /file-tests/data/convolution-with-aligned-view.fuse.data.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/data/convolution-with-aligned-view.fuse.data.json -------------------------------------------------------------------------------- /file-tests/data/def-with-memory.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/data/def-with-memory.expect -------------------------------------------------------------------------------- /file-tests/data/def-with-memory.fuse.data.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/data/def-with-memory.fuse.data.json -------------------------------------------------------------------------------- /file-tests/data/dot-product-with-array-literal.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/data/dot-product-with-array-literal.expect -------------------------------------------------------------------------------- /file-tests/data/dot-product-with-array-literal.fuse.data.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/data/dot-product-with-array-literal.fuse.data.json -------------------------------------------------------------------------------- /file-tests/data/dot-product.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/data/dot-product.expect -------------------------------------------------------------------------------- /file-tests/data/dot-product.fuse.data.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/data/dot-product.fuse.data.json -------------------------------------------------------------------------------- /file-tests/data/for-reversed.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/data/for-reversed.expect -------------------------------------------------------------------------------- /file-tests/data/for-reversed.fuse.data.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/data/for-reversed.fuse.data.json -------------------------------------------------------------------------------- /file-tests/data/local.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/data/local.expect -------------------------------------------------------------------------------- /file-tests/data/local.fuse.data.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/data/local.fuse.data.json -------------------------------------------------------------------------------- /file-tests/data/matadd-fixed-point.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/data/matadd-fixed-point.expect -------------------------------------------------------------------------------- /file-tests/data/matadd-fixed-point.fuse.data.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/data/matadd-fixed-point.fuse.data.json -------------------------------------------------------------------------------- /file-tests/data/matadd.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/data/matadd.expect -------------------------------------------------------------------------------- /file-tests/data/matadd.fuse.data.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/data/matadd.fuse.data.json -------------------------------------------------------------------------------- /file-tests/data/mv-unroll.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/data/mv-unroll.expect -------------------------------------------------------------------------------- /file-tests/data/mv-unroll.fuse.data.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/data/mv-unroll.fuse.data.json -------------------------------------------------------------------------------- /file-tests/data/nd-array-passed-to-function.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/data/nd-array-passed-to-function.expect -------------------------------------------------------------------------------- /file-tests/data/nd-array-passed-to-function.fuse.data.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/data/nd-array-passed-to-function.fuse.data.json -------------------------------------------------------------------------------- /file-tests/data/records.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/data/records.expect -------------------------------------------------------------------------------- /file-tests/data/records.fuse.data.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/data/records.fuse.data.json -------------------------------------------------------------------------------- /file-tests/data/split-example.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/data/split-example.expect -------------------------------------------------------------------------------- /file-tests/data/split-example.fuse.data.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/data/split-example.fuse.data.json -------------------------------------------------------------------------------- /file-tests/parent-map/block.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/parent-map/block.expect -------------------------------------------------------------------------------- /file-tests/parent-map/block.fuse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/parent-map/block.fuse -------------------------------------------------------------------------------- /file-tests/parent-map/dot-product.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/parent-map/dot-product.expect -------------------------------------------------------------------------------- /file-tests/parent-map/dot-product.fuse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/parent-map/dot-product.fuse -------------------------------------------------------------------------------- /file-tests/parent-map/nested.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/parent-map/nested.expect -------------------------------------------------------------------------------- /file-tests/parent-map/nested.fuse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/parent-map/nested.fuse -------------------------------------------------------------------------------- /file-tests/should-compile/fully-unrolled-matrix-vector-mul.fuse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-compile/fully-unrolled-matrix-vector-mul.fuse -------------------------------------------------------------------------------- /file-tests/should-compile/function.fuse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-compile/function.fuse -------------------------------------------------------------------------------- /file-tests/should-compile/general-matrix-multiply-one-unroll.fuse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-compile/general-matrix-multiply-one-unroll.fuse -------------------------------------------------------------------------------- /file-tests/should-compile/matadd.fuse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-compile/matadd.fuse -------------------------------------------------------------------------------- /file-tests/should-compile/vsadd.fuse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-compile/vsadd.fuse -------------------------------------------------------------------------------- /file-tests/should-compile/vvadd.fuse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-compile/vvadd.fuse -------------------------------------------------------------------------------- /file-tests/should-futil/emit-signed-op.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-futil/emit-signed-op.expect -------------------------------------------------------------------------------- /file-tests/should-futil/emit-signed-op.fuse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-futil/emit-signed-op.fuse -------------------------------------------------------------------------------- /file-tests/should-futil/fixed-point-constant.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-futil/fixed-point-constant.expect -------------------------------------------------------------------------------- /file-tests/should-futil/fixed-point-constant.fuse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-futil/fixed-point-constant.fuse -------------------------------------------------------------------------------- /file-tests/should-futil/fixed-point-multi-cycle.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-futil/fixed-point-multi-cycle.expect -------------------------------------------------------------------------------- /file-tests/should-futil/fixed-point-multi-cycle.fuse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-futil/fixed-point-multi-cycle.fuse -------------------------------------------------------------------------------- /file-tests/should-futil/for-multi-dim.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-futil/for-multi-dim.expect -------------------------------------------------------------------------------- /file-tests/should-futil/for-multi-dim.fuse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-futil/for-multi-dim.fuse -------------------------------------------------------------------------------- /file-tests/should-futil/for.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-futil/for.expect -------------------------------------------------------------------------------- /file-tests/should-futil/for.fuse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-futil/for.fuse -------------------------------------------------------------------------------- /file-tests/should-futil/invoke-with-fixed-point.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-futil/invoke-with-fixed-point.expect -------------------------------------------------------------------------------- /file-tests/should-futil/invoke-with-fixed-point.fuse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-futil/invoke-with-fixed-point.fuse -------------------------------------------------------------------------------- /file-tests/should-futil/invoke-with-memories.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-futil/invoke-with-memories.expect -------------------------------------------------------------------------------- /file-tests/should-futil/invoke-with-memories.fuse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-futil/invoke-with-memories.fuse -------------------------------------------------------------------------------- /file-tests/should-futil/invoke.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-futil/invoke.expect -------------------------------------------------------------------------------- /file-tests/should-futil/invoke.fuse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-futil/invoke.fuse -------------------------------------------------------------------------------- /file-tests/should-futil/sequentialize-reduce.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-futil/sequentialize-reduce.expect -------------------------------------------------------------------------------- /file-tests/should-futil/sequentialize-reduce.fuse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-futil/sequentialize-reduce.fuse -------------------------------------------------------------------------------- /file-tests/should-futil/use-plus-equals.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-futil/use-plus-equals.expect -------------------------------------------------------------------------------- /file-tests/should-futil/use-plus-equals.fuse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-futil/use-plus-equals.fuse -------------------------------------------------------------------------------- /file-tests/should-lower-run/atax.fuse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-lower-run/atax.fuse -------------------------------------------------------------------------------- /file-tests/should-lower-run/def-with-memory.fuse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-lower-run/def-with-memory.fuse -------------------------------------------------------------------------------- /file-tests/should-lower-run/dot-product.fuse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-lower-run/dot-product.fuse -------------------------------------------------------------------------------- /file-tests/should-lower-run/matadd-fixed-point.fuse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-lower-run/matadd-fixed-point.fuse -------------------------------------------------------------------------------- /file-tests/should-lower-run/matadd.fuse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-lower-run/matadd.fuse -------------------------------------------------------------------------------- /file-tests/should-lower-run/mv-unroll.fuse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-lower-run/mv-unroll.fuse -------------------------------------------------------------------------------- /file-tests/should-lower-run/records.fuse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-lower-run/records.fuse -------------------------------------------------------------------------------- /file-tests/should-lower/hoist.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-lower/hoist.expect -------------------------------------------------------------------------------- /file-tests/should-lower/hoist.fuse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-lower/hoist.fuse -------------------------------------------------------------------------------- /file-tests/should-lower/lower-constant-access.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-lower/lower-constant-access.expect -------------------------------------------------------------------------------- /file-tests/should-lower/lower-constant-access.fuse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-lower/lower-constant-access.fuse -------------------------------------------------------------------------------- /file-tests/should-lower/mat.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-lower/mat.expect -------------------------------------------------------------------------------- /file-tests/should-lower/mat.fuse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-lower/mat.fuse -------------------------------------------------------------------------------- /file-tests/should-lower/nested.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-lower/nested.expect -------------------------------------------------------------------------------- /file-tests/should-lower/nested.fuse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-lower/nested.fuse -------------------------------------------------------------------------------- /file-tests/should-lower/scopes.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-lower/scopes.expect -------------------------------------------------------------------------------- /file-tests/should-lower/scopes.fuse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-lower/scopes.fuse -------------------------------------------------------------------------------- /file-tests/should-lower/sequentialize-nested-par.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-lower/sequentialize-nested-par.expect -------------------------------------------------------------------------------- /file-tests/should-lower/sequentialize-nested-par.fuse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-lower/sequentialize-nested-par.fuse -------------------------------------------------------------------------------- /file-tests/should-run/convolution-1d.fuse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-run/convolution-1d.fuse -------------------------------------------------------------------------------- /file-tests/should-run/convolution-with-aligned-view.fuse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-run/convolution-with-aligned-view.fuse -------------------------------------------------------------------------------- /file-tests/should-run/dot-product-with-array-literal.fuse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-run/dot-product-with-array-literal.fuse -------------------------------------------------------------------------------- /file-tests/should-run/dot-product.fuse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-run/dot-product.fuse -------------------------------------------------------------------------------- /file-tests/should-run/for-reversed.fuse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-run/for-reversed.fuse -------------------------------------------------------------------------------- /file-tests/should-run/local.fuse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-run/local.fuse -------------------------------------------------------------------------------- /file-tests/should-run/matadd-fixed-point.fuse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-run/matadd-fixed-point.fuse -------------------------------------------------------------------------------- /file-tests/should-run/matadd.fuse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-run/matadd.fuse -------------------------------------------------------------------------------- /file-tests/should-run/nd-array-passed-to-function.fuse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-run/nd-array-passed-to-function.fuse -------------------------------------------------------------------------------- /file-tests/should-run/records.fuse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-run/records.fuse -------------------------------------------------------------------------------- /file-tests/should-run/split-example.fuse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/should-run/split-example.fuse -------------------------------------------------------------------------------- /file-tests/vivado-out/fully-unrolled-matrix-vector-mul.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/vivado-out/fully-unrolled-matrix-vector-mul.expect -------------------------------------------------------------------------------- /file-tests/vivado-out/function.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/vivado-out/function.expect -------------------------------------------------------------------------------- /file-tests/vivado-out/general-matrix-multiply-one-unroll.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/vivado-out/general-matrix-multiply-one-unroll.expect -------------------------------------------------------------------------------- /file-tests/vivado-out/matadd.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/vivado-out/matadd.expect -------------------------------------------------------------------------------- /file-tests/vivado-out/vsadd.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/vivado-out/vsadd.expect -------------------------------------------------------------------------------- /file-tests/vivado-out/vvadd.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/file-tests/vivado-out/vvadd.expect -------------------------------------------------------------------------------- /fuse: -------------------------------------------------------------------------------- 1 | target/scala-3.3.1/fuse.jar -------------------------------------------------------------------------------- /notes/.gitignore: -------------------------------------------------------------------------------- 1 | *.html 2 | style.css 3 | -------------------------------------------------------------------------------- /notes/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/notes/Makefile -------------------------------------------------------------------------------- /notes/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/notes/README.md -------------------------------------------------------------------------------- /notes/appendix.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/notes/appendix.md -------------------------------------------------------------------------------- /notes/banking.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/notes/banking.md -------------------------------------------------------------------------------- /notes/combine.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/notes/combine.md -------------------------------------------------------------------------------- /notes/extra.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cucapra/dahlia/HEAD/notes/extra.css -------------------------------------------------------------------------------- /notes/footer.html: -------------------------------------------------------------------------------- 1 |