Hanchen Ye
|
1e1cd2f828
|
[AffineLoopOrderOpt] complete the impl of this pass; move getLoopBandFromLeaf/Root to analysis utils, update several pass accordingly
|
2021-01-20 00:56:40 -06:00 |
Hanchen Ye
|
d3d13e0bd0
|
fix bugs related to dependency analysis; [AffineLoopOrderOpt] add initial impl of applyAffineLoopOrderOpt method
|
2021-01-19 15:55:36 -06:00 |
Hanchen Ye
|
7c1130452e
|
[AffineLoopOrderOpt] start of this pass; update test case names
|
2021-01-19 01:53:57 -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
|
4e963dfe3d
|
remove redundant mlir:: in all lib files; [MultipleLevelDSE] start of leaf loop nests optimization
|
2021-01-18 23:13:22 -06:00 |
Hanchen Ye
|
0ac1bd5d4a
|
[MultipleLevelDSE] support to simplify loop nest by loop pipelining
|
2021-01-18 20:17:18 -06:00 |
Hanchen Ye
|
4a594c9303
|
[LoopPipelining] recursively fully unroll all inner loops until no failure are met
|
2021-01-18 17:27:24 -06:00 |
Hanchen Ye
|
47837eee6e
|
[Samples] add resnet18 ablation study scripts; [MultipleLevelDSE] add two helper methods; fix clang++ warnings
|
2021-01-14 14:51:30 -06:00 |
Hanchen Ye
|
53c9e141e0
|
[Analysis] update getLayoutMap() method in utils
|
2021-01-12 14:01:16 -06:00 |
Hanchen Ye
|
145e39b66e
|
update LLVM to bc8acf2
|
2021-01-11 19:18:10 -06:00 |
Hanchen Ye
|
9025bd5091
|
[SplitFunction] support to remove redundant copy nodes, factor out applySplitFunction() method; [LegalizeDataflow] factor out applyLegalizeDataflow() method (#20)
|
2021-01-11 15:26:00 -06:00 |
Hanchen Ye
|
dd57e01069
|
[QoREstimation] update getDSPMap() method name and some value names
|
2021-01-11 03:51:41 -06:00 |
Paul Jeong
|
5b8b38b732
|
[QoREstimation] Basic bram estimation with array partitioning
|
2021-01-11 03:42:28 -06:00 |
Hanchen Ye
|
e47205e779
|
[QoREstimation] when partition factor is more than 2 and partition index cannot be determined for a memory access operation, a function call will be generated and change the original dependency relationship, this patch is intended to support this mechanism
|
2021-01-11 02:48:56 -06:00 |
Hanchen Ye
|
996c9cff8a
|
[QoREstimation] consider loop/function interval in the DSP resource estimation
|
2021-01-10 20:48:54 -06:00 |
Hanchen Ye
|
9cc5f3abdc
|
[FuncPipelining] comprehensively support function pipelining in emitter, estimator, and array partition pass
|
2021-01-10 18:43:40 -06:00 |
Hanchen Ye
|
5bf4d7943e
|
[FuncPipelining] support function pipelining; fix some small bugs
|
2021-01-09 23:31:33 -06:00 |
Hanchen Ye
|
ba3ca07833
|
[QoREstimation] factor out QoREstimation.h (#20); [MultipleLevelDSE] start of auto dse
|
2021-01-08 02:20:11 -06:00 |
Hanchen Ye
|
9f31dd663d
|
[AffineStoreForward] factor out applyAffineStoreForward() method; [SimplifyMemrefAccess] factor out applySimplifyMemrefAccess() method
|
2021-01-08 01:13:41 -06:00 |
Hanchen Ye
|
07d77f7193
|
[ArrayPartition] support multi-loops array partition; factor out applyArrayPartition() method (#20)
|
2021-01-07 23:29:49 -06:00 |
Hanchen Ye
|
a01b440a95
|
[LoopPipelining] factor out applyLoopPipelining() method (#20)
|
2021-01-07 20:36:05 -06:00 |
Hanchen Ye
|
5b2af8e248
|
[AffineLoopPerfection] factor out applyAffineLoopPerfection() method (#20)
|
2021-01-07 18:38:11 -06:00 |
Hanchen Ye
|
94d6d57dda
|
[RemoveVariableBound] factor out applyRemoveVariableBound() method (#20)
|
2021-01-07 16:44:09 -06:00 |
Hanchen Ye
|
18260436aa
|
add license
|
2021-01-06 11:31:03 -06:00 |
Hanchen Ye
|
13f6f83120
|
update tabalegen description for all operations and passes
|
2021-01-04 13:51:15 -06:00 |
Hanchen Ye
|
1353100dad
|
[Analysis] fixed a bug in Utils
|
2021-01-03 23:35:52 -06:00 |
Hanchen Ye
|
6fecfda97c
|
[QoREstimation] update storageType handling, default set as bram s2p
|
2021-01-03 23:04:37 -06:00 |
Hanchen Ye
|
cf581f2694
|
[HLSCpp] remove all uses of ArrayOp, now all of the array-related pragmas are represented with MemRefType, fixed related bugs
|
2021-01-03 22:49:34 -06:00 |
Hanchen Ye
|
f052331cbc
|
[QoREstimation] estimate based on memref type rather than ArrayOp attributes
|
2021-01-03 17:48:36 -06:00 |
Hanchen Ye
|
ff6e7f0c4c
|
[ArrayPartition] use memref layout map to represent partition type rather than ArrayOp attributes
|
2021-01-03 16:16:55 -06:00 |
Hanchen Ye
|
34f32ab2f2
|
[AffineLoopPerfection] add a constraint for a legal perfection; [HLSCpp] update some attribute definitions; an important flaw is introduing hlscpp.array operation causes storing to argument memrefs has semantic incorrectness. Although this flaw can be handled by hlscpp emitter, and has not caused malignant issues by now, this should be carefully considered and refactored
|
2021-01-01 13:21:12 -06:00 |
Hanchen Ye
|
d086c3a2e8
|
update some passes name; [RemoveVariableBound] support single result expr variable bound; [Samples] fix syrk and syr2k error
|
2020-12-30 14:27:33 -06:00 |
Hanchen Ye
|
f9eb0642d2
|
[Samples] add lenet and mobilenetv2 example; update corresponding readme instruction
|
2020-12-26 14:05:36 -06:00 |
Hanchen Ye
|
abfccd8052
|
[SplitFunction] support internal values and memories in sub-function
|
2020-12-26 13:38:24 -06:00 |
Hanchen Ye
|
bc5818254b
|
[SplitFunction] support merge several dataflow levels into one sub-function; [LegalizeDataflow] update getSuccessorMap() method to fix bugs
|
2020-12-26 02:59:09 -06:00 |
Hanchen Ye
|
98060b98fe
|
[LegalizeDataflow] support to legalize loop and other operations simultaneously, support insert-copy and min-gran option for controlling whether CopyOps are inserted and the minimum granularity of dataflow
|
2020-12-25 23:40:33 -06:00 |
Hanchen Ye
|
8310ef8670
|
[Readme] update onnx-mlir integration test instruction; [Samples] add onnx-mlir and PolyBench folder, add export_resnet18.py script
|
2020-12-25 16:18:38 -06:00 |
Hanchen Ye
|
c9599e11bf
|
[QoREstimation] update UI32 attribute to I64 for meeting the requirement of estimating super large designs
|
2020-12-25 15:25:24 -06:00 |
Hanchen Ye
|
ed867403d8
|
[Readme] update LLVM repo url; FunctionType::get to builder.getFunctionType
|
2020-12-25 10:03:48 -06:00 |
Hanchen Ye
|
1b6e00b303
|
Update LLVM to latest (7d246cb)
|
2020-12-25 02:41:38 -06:00 |
Hanchen Ye
|
9652bee260
|
[LegalizeDataflow] update impl structure and fix bugs, support resnet18 legalization; [EmitHLSCpp] emit bool rather than ap_int<1>
|
2020-12-25 00:04:10 -06:00 |
Hanchen Ye
|
fef0cdc3fe
|
[LegalizeDataflow] support loop-based dataflow legalization; [SplitFunction] include live-in analysis
|
2020-12-24 14:18:14 -06:00 |
Hanchen Ye
|
f02955c284
|
[Readme] add onnx-mlir integration test instructions; add mnist.onnx, resnet18 test case; [EmitHLSCpp] support cast ops emission
|
2020-12-24 00:15:47 -06:00 |
Hanchen Ye
|
a3b4ed185b
|
[LegalizeOnnx] support convert add to apply, try to promote LoadOp to AffineOp; however, the LoadOp lowered from onnx pooling operation CANNOT be promoted, sad
|
2020-12-23 23:21:42 -06:00 |
Hanchen Ye
|
bb182fd561
|
[LegalizeOnnx] support lowering of krnl.memcpy operation; fixed related bugs
|
2020-12-23 22:11:25 -06:00 |
Hanchen Ye
|
e0ca62e238
|
[EmitHLSCpp] support TensorToMemrefOp emission; fixed related bugs
|
2020-12-23 17:48:21 -06:00 |
Hanchen Ye
|
21347b2665
|
[LegalizeOnnx] support to legalize the output of onnx-mlir flow to pure standard/affine IR
|
2020-12-23 16:45:38 -06:00 |
Hanchen Ye
|
9067cb6383
|
[Test] add benchmarks of comba
|
2020-12-22 22:43:53 -06:00 |
Hanchen Ye
|
4c1cc9e4b1
|
[QoREstimator] support DSP estimation (#18)
|
2020-12-22 15:33:12 -06:00 |
Hanchen Ye
|
85c47e98e3
|
[QoREstimation] support function call estimation, a known issue is CallOps inside of loops are not comprehensively considered; estimation refinement for multiple loops and select op (#5); fix related bugs
|
2020-12-21 19:02:39 -06:00 |