Hanchen Ye
|
e0a844c63d
|
[CreateAxiInterface] Factor out this pass from LegalizeToHLSCpp; [Transforms] Add a new Rntime directory to hold runtime-related passes; Move CreateRuntimeMain to the new directory; Remove redundant pass initialization methods; [Support] Add new getTopFunc/getRuntimeFunc APIs
|
2022-03-20 17:02:11 -05:00 |
Hanchen Ye
|
48d90f2e62
|
[HoistStreamChannel] Implement this pass
|
2022-03-20 17:02:11 -05:00 |
Hanchen Ye
|
c013e74627
|
[FuncDataflow] Support to handle graphs containing call nodes
|
2022-03-20 17:02:11 -05:00 |
Hanchen Ye
|
e680e83dee
|
[CreateTokenFlow] Implement this pass, should be applied after heuristic-node-fusion pass"
|
2022-03-20 17:02:11 -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
|
3d1605ebbf
|
[CreateTokenFlow][HoistStreamChannel] Start of these two passes
|
2022-03-20 17:02:11 -05:00 |
Hanchen Ye
|
cf7c39fe14
|
[Docs] Update scalehls architecture figure
|
2022-03-20 17:01:30 -05:00 |
Hanchen Ye
|
bdb6f08dbd
|
Register DLTI dialect by default
|
2022-03-18 22:56:31 -05:00 |
Hanchen Ye
|
af8ee12337
|
Bump polygeist to 3bfc5726456be032fd4fc5c0fc5781b81af57ede
|
2022-03-18 15:49:31 -05:00 |
Hanchen Ye
|
ab33f68f55
|
[RaiseImplicitCopy] Implement this pass, convert-copy-to-affine-loops should be used afterward to canonicalize away redundant copy ops and lower remained ones back
|
2022-03-18 13:01:35 -05:00 |
Hanchen Ye
|
9500860fb6
|
[RaiseImplicitCopy] Start of this pass
|
2022-03-18 11:16:54 -05:00 |
Hanchen Ye
|
f9880d3b2b
|
[HeuristicNodeFusion] Refactor this pass following a more flexible outlining + fusing manner; [Support] Factor out a localizeConstants API
|
2022-03-17 22:43:21 -05:00 |
Hanchen Ye
|
d9583689d5
|
[HeuristicNodeFusion] Implement this pass
|
2022-03-17 16:57:08 -05:00 |
Hanchen Ye
|
07ed805316
|
[TosaToLinalgCleanup] Add this pass to lower tosa::ReshapeOp and tensor::PadOp
|
2022-03-17 16:56:33 -05:00 |
Hanchen Ye
|
f2024e4855
|
Bump polygeist to 6588ff6101da038c68255a62a16dae8bd06280cb
|
2022-03-17 01:55:08 -05:00 |
Hanchen Ye
|
f068e633d7
|
[ConvertCopyToAffineLoops] Support intern-copy-only as an option; [AffineLoopDataflow] Only dataflow innermost loop that has more than one child loops; [applyDataflow] Fix an issue when handling loop dataflowing; Remove linalg support
|
2022-03-17 01:17:01 -05:00 |
Hanchen Ye
|
6f12eb391a
|
[Transforms] Rename simplificationOpts to memoryOpts; Reorganize code structure of Utils.h and Passes.h
|
2022-03-16 16:23:12 -05:00 |
Hanchen Ye
|
816f62cca8
|
[AffineLoopDataflow] Implement this pass; [Transforms] Rename min-gran and insert-copy to gran and balance, respectively
|
2022-03-16 16:12:00 -05:00 |
Hanchen Ye
|
ec77976bd7
|
[Test] Reorganize file structure according to the lib/Transforms folder
|
2022-03-16 15:54:50 -05:00 |
Hanchen Ye
|
47f9f0ee4c
|
[FuncDataflow] Merge LegalizeDataflow and SplitFunction into this pass; [Transforms] Add applyDataflow API for both function and loop dataflow
|
2022-03-16 15:52:39 -05:00 |
Hanchen Ye
|
8059ed5080
|
[Transfroms] Reorganize file structure
|
2022-03-16 15:09:39 -05:00 |
Hanchen Ye
|
8e6a21f1ad
|
[Transforms] Factor out applyLegalizeDataflow and applySplitFunction as APIs targeting a block whose parent can be both function or affine loop
|
2022-03-12 15:38:58 -06:00 |
Hanchen Ye
|
ded1c5727b
|
[LoopUnrollJam] Expose pointLoopOnly option when initializing the pass; [ConvertCopyToAffineLoops] Support the optional lowering of AXI interface-associated copy ops
|
2022-03-10 23:36:23 -06:00 |
Hanchen Ye
|
482711615e
|
[Transforms] Add a scalehls-test-pipeline for the local buffer flow
|
2022-03-10 18:18:13 -06:00 |
Hanchen Ye
|
265ec1c3da
|
[LoopUnrollAndJam] Support to only unroll point loop bands
|
2022-03-10 18:17:22 -06:00 |
Hanchen Ye
|
d09be1a0a0
|
[PromoteBuffer] Factor out this pass from LegalizeToHLSCpp
|
2022-03-10 17:34:16 -06:00 |
Hanchen Ye
|
1d5d43d057
|
[CreateMemrefSubview] Implement this pass; [Transforms] Update the getBoundOfAffineMap API to serve more users
|
2022-03-10 03:16:59 -06:00 |
Hanchen Ye
|
c4927c8157
|
[Transforms] Add a getTileAndPointLoopBand helper; [AffineLoopOrderOpt] Permute loop order separately on tile and point loop band; [AffineLoopUnrollJam] Rename from AffineLoopUnrollAndPipeline and remove the pipeline feature finally
|
2022-03-09 20:05:46 -06:00 |
Hanchen Ye
|
2613174689
|
[Transforms] Add a scalehls prefix to all passes
|
2022-03-09 18:35:16 -06:00 |
Hanchen Ye
|
3025b838d6
|
[Transforms] Enhance the applyLoopTiling API to support the annotation of parallel loops and point loops
|
2022-03-09 18:19:26 -06:00 |
Hanchen Ye
|
36f748175e
|
[Transforms] Rename from setParallel/Point/TopFunc to setParallel/Point/TopFuncAttr
|
2022-03-09 17:45:00 -06:00 |
Hanchen Ye
|
bc4dc1cf84
|
[AffineLoopTileAndAnnotate] Implement this pass
|
2022-03-09 17:39:49 -06:00 |
Hanchen Ye
|
d92495af40
|
[LegalizeDataflow] Support insertCopy as an optional argument when initializing this pass; [Transforms] Trun off insertCopy in scalehls-dse-pipeline
|
2022-03-09 02:31:01 -06:00 |
Hanchen Ye
|
8626ca3ed5
|
[Build] Disable python binding by default; Add a pybind option to build-scalehls.sh; [Readme] Update readme accordingly
|
2022-03-09 02:11:32 -06:00 |
Hanchen Ye
|
564c413385
|
[Samples] Remove the separate readme under the rosetta directory
|
2022-03-08 01:21:53 -06:00 |
Hanchen Ye
|
d9f2909ce6
|
[Transforms] Add scalehls-dse-pipeline and corresponding options; Support to hide the latency of AXI load/store with function dataflow
|
2022-03-08 00:56:56 -06:00 |
Hanchen Ye
|
626cfea264
|
[LegalizeHLSCpp] Support to create AXI interfaces as an optional transform; [QoREstimation][EmitHLSCpp] Support memref CopyOp; [DSE] Move applyLegalizeToHLSCpp to the begining of the pass
|
2022-03-07 22:39:51 -06:00 |
Hanchen Ye
|
ad2bf8b7c6
|
[Readme] Add a figure for the overall architecture
|
2022-03-04 02:45:25 -06:00 |
Hanchen Ye
|
e3d7294984
|
[Test] Add test cases for new passes; Update test cases according to the recent changes, inluding legalize-dataflow, split-function, etc
|
2022-03-01 23:47:30 -06:00 |
Hanchen Ye
|
7dc360838a
|
[Transforms] Remove the tileOrderOpt and unrollPointLoops option from applyAffineTiling API
|
2022-03-01 16:13:50 -06:00 |
Hanchen Ye
|
a808fdb65a
|
[FakeQuantize] Support matmul and pool2d op; [EmitHLSCpp] Support truncate and extend
|
2022-03-01 15:48:25 -06:00 |
Hanchen Ye
|
a77a093fa5
|
[CreateRuntimeMain] Move this pass out from Graph transforms folder
|
2022-03-01 01:26:49 -06: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
|
690a2d2eaa
|
[Transforms] Refactor the applyLoopTiling API to make it more robust
|
2022-02-28 20:05:20 -06:00 |
Hanchen Ye
|
10252043d4
|
[FakeQuantize] Implement this pass; Add fake-quantize option to the pytorch pipeline
|
2022-02-28 18:26:37 -06:00 |
Hanchen Ye
|
c360f7e702
|
[CreateRuntimeMain] Relocate buffers in sub-functions to the runtime main function
|
2022-02-25 00:51:58 -06:00 |
Hanchen Ye
|
637a101bf7
|
[ConvertCopyToAffineLoops] Support to lower tensor reshape ops
|
2022-02-24 19:09:41 -06:00 |
Hanchen Ye
|
65e2949e39
|
[EmitHLSCpp] Stop to emit the runtime main function, which should be emitted separately
|
2022-02-24 02:07:06 -06:00 |
Hanchen Ye
|
a2770c8c85
|
[CreateRuntimeMain] Implement this pass
|
2022-02-24 01:46:22 -06:00 |