Commit Graph

163 Commits

Author SHA1 Message Date
Hanchen Ye 577fa54c49 [Support] Include transfer load/store when getting the memref access map 2022-02-17 16:01:39 -06:00
Hanchen Ye 3100f042f3 [EmitHLSCpp] Support max/min ops 2022-02-16 19:12:51 -06:00
Hanchen Ye 887424942b [HLSCpp] Remove unused operations from the visitor; [EmitHLSCpp] Start the emissionts of vector load/store, transfer read/write, broadcast, mul primitive 2022-02-16 14:57:09 -06:00
Hanchen Ye b0cb590fb6 [Transforms] Enable the pass pipeline with tunable dataflow granularity and loop tiling size 2022-02-16 02:28:52 -06:00
Hanchen Ye 5c8e1ebda2 [QoREstimator] Improve the accuracy when resource can be shared between multiple loop bands 2022-02-13 23:21:22 -06:00
Hanchen Ye 1be6af93d8 [QoREstimator] Support fexp op; Start to specify dsp usage in config.json 2022-02-11 05:56:38 -06:00
Hanchen Ye 97c33324b8 [LoopPerfection] Fix the issue when the loop contains local buffer allocs 2022-02-02 15:02:03 -06:00
Hanchen Ye d356071a53 Improve error messeges of json parsing; Add comments to each item in config.json 2022-01-28 02:12:56 -06:00
Hanchen Ye 817620d5a0 [QoREstimation][MultipleLevelDSE] Use JSON file for configuration 2022-01-21 22:13:55 -06:00
Hanchen Ye 9ef646f768 [LoopPerfectization] Support to create alloca for local data buffering 2022-01-21 12:54:23 -06:00
Hanchen Ye d5d3899367 [Test] Add test cases for LegalizeDataflow and SplitFunction pass 2022-01-21 04:22:42 -06:00
Hanchen Ye 5e7171e9ac [HLSKernel] Remove this dialect from the repo 2022-01-21 03:55:49 -06:00
Hanchen Ye 5fc4d2682b [QuantizeONNX] Remove from the repo 2022-01-21 03:22:56 -06:00
Hanchen Ye 153941cd33 Fix test cases 2022-01-21 03:14:04 -06:00
Hanchen Ye 22e59877cb [Samples] Update all polybench samples 2021-11-12 02:09:50 -06:00
Hanchen Ye 2fdba859f7 [PartialAffineLoopTiling] Support to simplify loop structure after tiling 2021-11-12 01:51:15 -06:00
Hanchen Ye 70d898d9a3 [RemoveVariableBound] Support lower variable bound removal 2021-11-10 22:38:24 -06:00
Hanchen Ye aaf11f432d Add build-scalehls.sh script; [README] Update build and test instructions; [Polygeist] Update polygeist submodule to avoid gettimeofday failure 2021-11-09 00:49:06 -06:00
Hanchen Ye 99ce81ce68 [BindingsPython] Add get_trip_count API to LoopBand class; [README] Add a note for the use of help() in python 2021-11-06 19:26:36 -05:00
Hanchen Ye 491ba1c2e8 [pyscalehls] Use array_partition python API; [BindingsPython] Add MlirValue pybind adapter 2021-11-06 18:02:03 -05:00
Hanchen Ye fcf3d5c323 [BindingsPython] Support to parse nparray argument; Support LoopTile API 2021-11-03 20:34:39 -05:00
Hanchen Ye b422ef16ee [BindingsPython] Support PyAffineLoopBand and PyAffineLoopBandIterator utility; Support applyAffineLoopPerfection API 2021-11-03 00:21:14 -05:00
Hanchen Ye 7359ec02c0 Update Polygeist to daeb952 2021-11-01 16:27:57 -05:00
Hanchen Ye 513fdf582d [pyscalehls] Support to parse C as input; Add corresponding lit test 2021-10-08 05:06:17 -05:00
Hanchen Ye 4d3e9fa9c8 Include pyscalehls into cmake 2021-10-03 23:18:23 -05:00
Hanchen Ye 0492347bef Add pyscalehls tool; Python binding for applyArrayPartition 2021-10-03 10:18:25 -05:00
Hanchen Ye ddd973f90b Add pybind emit_hlscpp regression test 2021-09-30 17:55:36 -05:00
Hanchen Ye 681e7acb52 remove benchmark-gen command line tool 2021-09-30 02:24:13 -05:00
Hanchen Ye ab9d20a6eb Support to import scalehls in python; Move analysis utils to support folder; Move qor estimator to transform folder 2021-09-30 02:18:31 -05:00
Hanchen Ye f13dbc72ad Unified install for MLIR, Clang, Polygeist, and ScaleHLS, prepare for Python binding feature 2021-09-29 23:33:33 -05:00
Hanchen Ye a033ec2640 update README; update polybench C test cases 2021-08-23 16:16:20 -05:00
Hanchen Ye 9825bcd3ca remove SCF2Affine conversion passes 2021-08-23 13:30:36 -05:00
Hanchen Ye c5f894dd08 [scalehls-clang] Update test cases; [SCFToAffine] Solve an issue when loop bound is induction variable 2021-08-11 22:29:30 -05:00
Hanchen Ye 8d98a6120b [scalehls-clang] Add several test cases 2021-08-11 20:50:11 -05:00
Jianyi Cheng 5f430e18b7
Add SCFToAffine conversion pass (#25)
- Added two passes to raise scf dialect:
    - Check whether each scf.for op can be raised to an affine.for op and raise it if it can.
    - Check whether each memref.load/memref.store op can be raised to an affine.load/affine.store op and raise it if it can.
- Added a unit test for SCFToAffine
2021-07-03 01:39:31 -05:00
Hanchen Ye 964c7315eb [MultipleLevelDSE] start of supporting function pipelining; [Test] add gemm.c test case 2021-06-02 12:52:49 -05:00
Hanchen Ye f907c9810a [scalehls-clang] add syrk test case; update using llvm cl tools 2021-05-01 00:37:27 -05:00
Jianyi Cheng fd48c4cc5c Added C front end 2021-04-30 23:23:12 +01:00
Hanchen Ye 3d1bcb906e [MultipeLevelDSE, LoopPipeline] fix bugs; [QoREstimation] fix no_touch attribute support; [LegalizeToHLSCpp] split out callable API; 2021-04-21 21:59:47 -05:00
Hanchen Ye 6b0255366a [Analysis] remove AnalysisBase class, update emitter, estimator, and optimizer accordingly; [MultipleLevelDSE] update with new attributes 2021-04-21 03:26:37 -05:00
Hanchen Ye bb9ee6a5c2 [Transforms] update all directive transforms using new directive attributes; update test cases accordingly 2021-04-21 00:51:30 -05:00
Hanchen Ye 68b1895d31 [HLSCpp] update definition of attributes, hope this is the final version...; [LegalizeToHLSCpp, QoREstimation] update with new attributes 2021-04-21 00:29:52 -05:00
Hanchen Ye a26b6d0518 [HLSCpp] update all attributes; add attribute parser and printer; [QoREstimation] update with ScheduleAttr 2021-04-16 01:07:08 -05:00
Hanchen Ye d1786aeed7 [QuantizeOnnx] update the pass name 2021-04-06 20:35:32 -05:00
Hanchen Ye 74d0c13776 [EmitHLSCpp] emit int{n}_t instead of ap_int<{n}> for 8/16/32/64 bits int 2021-04-06 19:09:39 -05:00
Hanchen Ye a5cd433029 [EmitHLSCpp] fix an error of EmitSelectOp; update from val{n} to v{n} 2021-04-06 18:25:45 -05:00
Hanchen Ye d14f8718d0 [QuantizeDNNModel] impl this pass for quantizing onnx model to 8/32 bits representation; [HLSCpp] add MulOp and AddOp 2021-04-06 17:25:57 -05:00
Hanchen Ye 6dc5b6785e [Samples] update polybench dse and dnn ablation scripts 2021-03-29 23:56:35 -05:00
Hanchen Ye 1fe0475195 update to LLVM f178c13fa899; [ArrayPartition] fixed a bug; [Samples] remove array initialization in atax, bicg, and gesummv 2021-03-22 17:29:43 -05:00
Hanchen Ye 1d39291a92 [MultipleLevelDSE] fixed a small issue; [Samples] update the problem sizes of polybench test cases 2021-03-04 19:58:46 -06:00