Commit Graph

568 Commits

Author SHA1 Message Date
Hanchen Ye 9dddfb23e8 [EmitHLSCpp] Implement the emission of transfer read/write and broadcast 2022-02-16 23:27:42 -06:00
Hanchen Ye 3100f042f3 [EmitHLSCpp] Support max/min ops 2022-02-16 19:12:51 -06:00
Hanchen Ye d775ccc9f9 [EmitHLSCpp] Support reinterpret_cast op 2022-02-16 18:41:19 -06:00
Hanchen Ye cf6ae244cc Add affine vector load/store visitors 2022-02-16 17:15:49 -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 b388aac4df [LegalizeToHLSCpp] Lowering transfer read/write to affine vector load/store 2022-02-16 14:01:16 -06:00
Hanchen Ye 9626e556b7 [Transforms] Support vectorization in the pass pipeline; Update several passes to make them aware of transfer_read/write ops 2022-02-16 04:19:33 -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 770ae66603 [CreateHLSCppPrimitive] Factor out this pass from LegalizeToHLSCpp; Move LegalizeToHLSCpp to Transforms directory; [Transforms] Add scalehls pass pipeline 2022-02-16 00:39:09 -06:00
Hanchen Ye ec415f92d5 [LegalizeToHLSCpp] Support to create mul and cast primitives for integer calculations 2022-02-15 23:35:57 -06:00
Hanchen Ye 7af2c0cafd [HLSCpp] Introduce MulPrimOp and CastPrimOp for DSP double pumping 2022-02-14 17:20:34 -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 baa212b473 [QoREstimation] Resolve an issue when estimating multi-loop functions with no_touch annotations 2022-02-11 04:51:42 -06:00
Hanchen Ye d54764e650 [CMake] Stop to use file globs 2022-02-09 15:41:11 -06:00
Hanchen Ye fc0818d873 Update instructions for spam-filter in readme 2022-02-09 15:09:57 -06:00
Hanchen Ye 61365028c1 [Samples] Add config file into rosetta benchmarks 2022-02-09 14:52:45 -06:00
Hanchen Ye 941d17bdf9 [Utils] Include reduce-initial-interval into the dse 2022-02-09 14:34:57 -06:00
Hanchen Ye dfc2ab12c2 [ReduceInitialInterval] Implement this pass 2022-02-09 14:22:05 -06:00
Hanchen Ye 3c3c65a724 [Samples] Update array-partition and qor-estimation to have rosetta spam-filter work 2022-02-08 21:25:38 -06:00
Hanchen Ye 8a8de8b4c2 [MaterializeReduction] Implement this pass 2022-02-07 00:38:25 -06:00
Hanchen Ye 0c18cb940e [SplitFunction] Fixed an issue that reinterpret_cast op's result is identified as livein 2022-02-06 19:02:30 -06:00
Hanchen Ye 0ac214b1e7 [Samples] Add two rosetta benchmarks 2022-02-03 23:40:40 -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 ad965874c5 Update polygeist 2022-02-01 15:21:11 -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 0995c3cfec Update the path of mlir-clang 2022-01-26 11:33:56 -06:00
Hanchen Ye 817620d5a0 [QoREstimation][MultipleLevelDSE] Use JSON file for configuration 2022-01-21 22:13:55 -06:00
Hanchen Ye c375edfec3 Accommodate new memref layout system 2022-01-21 18:55:21 -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 7feb802de9 [README] Update instructions of the ONNX integration 2022-01-21 03:33:12 -06:00
Hanchen Ye d65454f24e Clean up Conversion/Passes.h 2022-01-21 03:26:51 -06:00
Hanchen Ye 5fc4d2682b [QuantizeONNX] Remove from the repo 2022-01-21 03:22:56 -06:00
Hanchen Ye 1845c3f60f [scalehls-clang] Remove from the repo 2022-01-21 03:20:58 -06:00
Hanchen Ye 153941cd33 Fix test cases 2022-01-21 03:14:04 -06:00
Hanchen Ye f354a8a3a6 Bump Polygeist to version 3f0e66045f01305e2b09de186552a3c42cdfd8e5 2022-01-21 02:58:31 -06:00
Hanchen Ye 072a330cae Bump the version of Polygeist 2022-01-21 01:40:17 -06:00
Hanchen Ye 2ef108a6b6 [MultipleLevelDSE] Use llvm::sort/find/shuffle instread of std APIs 2022-01-13 10:27:37 -06:00
Hanchen Ye 0676a64b9f Update license to Apache 2.0 with LLVM exceptions 2022-01-05 20:34:39 -06:00
Hanchen Ye 76e3980b9d [Samples] Remove deprecated testing scripts 2021-11-12 02:35:53 -06:00
Hanchen Ye 36d5083315 [Samples] Update all onnx-mlir samples 2021-11-12 02:32:40 -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 632a96d41b [Support] Consider single-element memref as fully partitioned 2021-11-12 00:33:18 -06:00
Hanchen Ye 4e171c8bb6 [Support] Use loop directive attribute instead of parallel attribute 2021-11-11 21:23:53 -06:00
Hanchen Ye 70d898d9a3 [RemoveVariableBound] Support lower variable bound removal 2021-11-10 22:38:24 -06:00
Hanchen Ye d8d0fdf22a [README] Update project description 2021-11-09 16:47:56 -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