Hanchen Ye
|
75338f35da
|
[Test] Add errors test case for HLSCpp dialect
|
2022-03-23 23:26:08 -05:00 |
Hanchen Ye
|
98bf329d1e
|
[Readme] Add verified Torch-MLIR SHA to instructions
|
2022-03-23 21:26:41 -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
|
8adb98a3bd
|
[Transforms] Move qor-estimation to the directive folder; [TosaAndLinalgCleanup] Rename from tosa-to-linalg-cleanup to the new name to avoid confusion
|
2022-03-23 17:12:39 -05:00 |
Hanchen Ye
|
05dd74fe58
|
[Test] Uniform the test file names
|
2022-03-23 17:07:39 -05:00 |
Hanchen Ye
|
d87f229561
|
[Test] Add test cases for loop and memory transform passes
|
2022-03-23 16:57:42 -05:00 |
Hanchen Ye
|
40a348db6a
|
[Test] Add test cases for graph and runtime transform passes; [FuncDataflow] Don't inline private functions
|
2022-03-23 16:22:55 -05:00 |
Hanchen Ye
|
c73e43cf81
|
[Transforms] Add pytorch-pipeline-v2 with inter/intra-node memory optimizations; Remove axi-interf option from dse-pipeline as we haven't been able to scale it; [FuncDataflow] Support to specify target-func during initialization
|
2022-03-22 17:57:10 -05:00 |
Hanchen Ye
|
4a8b516e1d
|
[LoopPipelining] Stop to pipeline the loop if it is already dataflowed; [Samples] Add an new end-to-end pipeline for resnet18
|
2022-03-22 16:55:08 -05:00 |
Hanchen Ye
|
28192bb053
|
[AffineLoopUnrollJam] Unroll from the innermost loop instead of the outermost
|
2022-03-22 16:50:14 -05:00 |
Hanchen Ye
|
8ed807fc5a
|
[Transforms] Support to prefix the sub-functions generated by applyDataflow to distinguish different dataflows; [FuncDataflow][AffineLoopDataflow] Update these two passes accordingly
|
2022-03-22 16:25:44 -05:00 |
Hanchen Ye
|
a659b1e6cc
|
[PromoteBuffer] Support to handle on-chip buffer with different behaviors: read-only, write-only, and read-write; [CreateAxiInterface][CreateMemrefSubview] Fix some bugs
|
2022-03-22 07:37:47 -05:00 |
Hanchen Ye
|
18cf114999
|
[Samples] Add the instructions to run the new torch flow
|
2022-03-20 17:02:11 -05:00 |
Hanchen Ye
|
0dcbee8b40
|
[CreateAxiInterface] Support to create multiple AXI interface for the same piece of memory in order to avoid read/write channel conflicts; [EmitHLSCpp] Emit stable pragma only for function interfaces
|
2022-03-20 17:02:11 -05:00 |
Hanchen Ye
|
0b8c03d300
|
[EmitHLSCpp] Support to emit stream.channel/read/write op; [HLSCpp] stream.write must take a value as input now; [CreateTokenFlow][HoistStreamChannel] Update these passes accordingly
|
2022-03-20 17:02:11 -05:00 |
Hanchen Ye
|
0ea2f79303
|
[CreateAxiInterface] Implement this pass; [FuncDataflow][HoistStreamChannel] Fix several bugs
|
2022-03-20 17:02:11 -05:00 |
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 |