Commit Graph

67 Commits

Author SHA1 Message Date
Hanchen Ye 119d5bd894 [HLS] Add PrimConstOp; [BufferizeDataflow] Support tconvert ConstantOp to PrimConstOp; [CreateAxiinterface] Move PrimConstOp to runtime main; [EmitHLSCpp] Support to emit PrimConstOp 2022-04-05 23:16:20 -05:00
Hanchen Ye 717f80a83f [LegalizeDataflow] Fix several issues; Enable the pytorch-pipeline-v2 2022-04-05 17:43:24 -05:00
Hanchen Ye 455f2b8434 [HLS] Add verifier and a level optional attribute to DataflowBufferOp; [DataflowLegalize] Support buffer split and schedule; Support function dataflow merging 2022-04-05 01:27:05 -05:00
Hanchen Ye 4f8eafc1ae [HLS] Add verifier, a level optional attribute, and several utils to DataflowNodeOp; [DataflowLegalize] Start of this pass by support three rewriting patterns 2022-04-05 00:19:02 -05:00
Hanchen Ye adc508a7ef [HLS] Add canonicalize to DataflowNodeOp to remove unused results; [Transforms] Enhance the fuseOpsIntoNewNode API to support returning updated memrefs 2022-04-04 17:15:37 -05:00
Hanchen Ye 03c3f1a149 [Transforms] Move dataflow-related passes into the Dataflow sub-folder; Move localizeConstants and fuseOpsIntoNewNode method into transform utils 2022-04-04 13:20:45 -05:00
Hanchen Ye efd5bb17a3 Remove redundant and transparent includes 2022-04-02 09:08:55 -05:00
Hanchen Ye e21af65023 [HLS] Remove buffer op; [ConvertCopyToAffineLoops][FuncPreprocess][EmitHLSCpp] Update accordingly 2022-03-31 16:43:03 -05:00
Hanchen Ye 6fa4c49f8c [DataflowBufferize] Implement this pass 2022-03-29 16:04:13 -05:00
Hanchen Ye aa1f741026 [CreateTokenFlow] Refactor this pass to avoid redundant token flow generated; [HLS] Start of a DataflowNodeRewriter class 2022-03-29 11:48:33 -05:00
Hanchen Ye 62d03ed865 [HLS] Remove StreamBufferOp which is no longer used; Remove HoistStreamChannel pass, which is substituted by DataflowBufferize 2022-03-29 09:44:04 -05:00
Hanchen Ye e9324ce8e8 [FuncDataflow] Start to refactor based on HLS dataflow ops 2022-03-29 09:32:04 -05:00
Hanchen Ye fceeba1d8b [HLS] Add fuseOpsIntoNewNode utils; [TosaNodeFusion] Update accordingly 2022-03-28 17:57:41 -05:00
Hanchen Ye 780e711c9f [HLS] Rename from HLSCpp dialect to HLS dialect 2022-03-28 16:13:42 -05:00
Hanchen Ye 62a2a33536 [CreateTokenFlow] Refactor this pass with DataflowNode/Output/Source/SinkOp; [TosaNodeFusion] Fix a small bug 2022-03-28 15:31:03 -05:00
Hanchen Ye 8a3c41d93f [HLSCpp] Rename StreamNode/Output/Buffer to DataflowNode/Output/Buffer; [ConvertDataflowToFunc][DataflowBuferize] Start of these two passes; [TosaNodeFusion] Rename from HeuristicNodeFusion to make it more precise 2022-03-28 12:44:19 -05:00
Hanchen Ye c39d249f9f [HLSCpp] Use hasVerifier in op definitions; Add assembly format to stream node op 2022-03-25 20:44:58 -05:00
Hanchen Ye 447be7f27a [HLSCpp] Add StreamNodeOp and StreamOutputOp 2022-03-25 11:15:37 -05:00
Hanchen Ye 75338f35da [Test] Add errors test case for HLSCpp dialect 2022-03-23 23:26:08 -05:00
Hanchen Ye 4fcc43cd3c [HLSCpp] Add verifiers to stream ops; Add DeclaresStreamChannel Trait; Move hlscpp-associated methods from support/transform utils to hlscpp namespace 2022-03-23 21:08:41 -05:00
Hanchen Ye 93ebdb5412 [HLSCpp] Add StreamChannel/Read/Write/BufferOp; Rename Mul/CastPrimOp to PrimMul/CastOp; Rename AssignOp to BufferOp 2022-03-20 17:02:11 -05:00
Hanchen Ye 9f8df6f437 [HLSCpp] Add stream type 2022-03-20 17:02:11 -05:00
Hanchen Ye 43ad11eef2 [HLSCpp] Factor out parallel and top_func attribute from loop_directive and func_directive, respectively, as they are actually not directives 2022-03-01 01:10:51 -06:00
Hanchen Ye 875f04a4c1 [LegalizeDataflow][SplitFunction] Support adopt TOSA IR from torch-mlir 2022-02-22 23:25:05 -06:00
Hanchen Ye b3c40d94bb [HLSCpp] Update the definition of MulPrimOp to support multiplication packing; [EmitHLSCpp] Support the emission of hlscpp primitive ops 2022-02-17 14:50:05 -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 d54764e650 [CMake] Stop to use file globs 2022-02-09 15:41:11 -06:00
Hanchen Ye 5e7171e9ac [HLSKernel] Remove this dialect from the repo 2022-01-21 03:55:49 -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 7359ec02c0 Update Polygeist to daeb952 2021-11-01 16:27:57 -05:00
Hanchen Ye 6fae37ca77 using llvm-project of Polygeist 2021-08-23 13:26:18 -05:00
Hanchen Ye c3deb43ee8 [Dialect] fix several bugs 2021-05-01 01:06:35 -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 cb2df2dc37 [HLSCpp] update ScheduleAttr to TimingAttr; [QoREstimation] using HLSCpp attribute for representing resource and timing annotations 2021-04-19 00:11:10 -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 c798c28717 [HLSCpp] start to add structure attributes for representing directives, scheduling, and resource info 2021-04-15 14:12:46 -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 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 80bf2ceba4 [Transforms] distribute transform passes into 4 different folders; move HLSKernelBufferize pass to Dialect/HLSKernel folder 2021-02-02 19:22:15 -06:00
Hanchen Ye 847d50b829 add copyright header; remove redundant includes and usings; move EmitHLSCpp to Tanslation directory 2021-01-19 01:36:00 -06:00
Hanchen Ye 145e39b66e update LLVM to bc8acf2 2021-01-11 19:18:10 -06:00
Hanchen Ye 2d943dd238 remove redundant includes in all files; [QoREstimation] refactor include structure 2020-12-18 21:16:22 -06:00
Hanchen Ye 4e163d6edc [LegalizeDataflow] start of this pass; [HLSKernel] add CopyOp and lowering 2020-12-11 00:10:58 -06:00
Hanchen Ye 1f740b15f7 [HLSKernel] update CNNOps verifiers; [BenchmarkGen] fix bugs in CNNOps generation 2020-12-10 19:07:11 -06:00
Hanchen Ye a8a6d639e1 [HLSKernel] CNNOps verifiers (#16) 2020-12-01 22:44:00 -06:00
Hanchen Ye 41e3747b85 [HLSKernel] start of HLSKernel ops lowering; add ConvOp 2020-11-01 21:27:53 -06:00
Hanchen Ye eb34f4ee7b [HLSKernel] mechanical rename Benchmark to HLSKernel 2020-10-28 22:20:37 -05:00