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 |
Hanchen Ye
|
b0bf044c9a
|
[QoREstimation] support scheduling reverse (#5); update scheduling emission style
|
2020-12-21 11:32:25 -06:00 |
Hanchen Ye
|
8c715623fb
|
[EmitHLSCpp] support to print II and iteration latency info; [QoREstimation] detailed refinement
|
2020-12-20 23:45:03 -06:00 |
Hanchen Ye
|
53550db33a
|
[EmitHLSCpp] support to emit line number and schedule information; [HLSCpp] update all code related to storage_type attribute to align with Vivado 2019.1 settings
|
2020-12-20 17:52:56 -06:00 |
Hanchen Ye
|
bf6c17f1ab
|
[Readme] update instructions for testing ScaleHLS; [QoREstimation] remove getOpII method
|
2020-12-19 23:31:52 -06:00 |
Hanchen Ye
|
ea5d2266ec
|
[QoREstimation] fix the issue that the partition index after loop tiling cannot be correctly detected (#5)
|
2020-12-19 22:36:28 -06:00 |
Hanchen Ye
|
1ef835680b
|
[SimplifyMemRefAccess] implement this pass; [QoREstimation] fix a bug in dep-II estimation
|
2020-12-19 21:02:27 -06:00 |
Hanchen Ye
|
b9af6f5355
|
[SimplifyMemRefAccess] start of this pass; [Analysis] update getLoadStoresMap method in utils
|
2020-12-19 17:36:17 -06:00 |
Hanchen Ye
|
6103dfba45
|
[StoreOpForward] impl of this pass; update checkSameLevel method in Analysis utils
|
2020-12-19 17:06:27 -06:00 |
Hanchen Ye
|
117a1bd0f4
|
[HLSCpp] eliminate PragmaOps, update ArrayOp definition; [Analysis] refactor Utils; [StoreForward] start of this pass
|
2020-12-18 23:42:41 -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
|
a6c4ec403d
|
[gitignore] update ignore list; [BenchmarkGen] add auto_gen_cnn.mlir test case
|
2020-12-18 20:22:38 -06:00 |
Hanchen Ye
|
cea67c2064
|
[QoREstimation] refactor the estimation from ASAP -> ALAP; [ArrayPartition] move partiton_num annotation from QoREstimation to this pass
|
2020-12-18 20:21:20 -06:00 |
Hanchen Ye
|
5d854f3b74
|
[QoREstimation] support profiling latency based estimation (#2)
|
2020-12-17 21:40:29 -06:00 |
Hanchen Ye
|
18e5f434bb
|
[QoREstimation] fix bugs and incorrect behaviors in the implementation; [Passes] add some TODOs
|
2020-12-17 17:05:26 -06:00 |
Hanchen Ye
|
512c842908
|
[QoREstimator] thoroughly rewrite the estimator with new strategy and structure
|
2020-12-17 06:10:48 -06:00 |
Hanchen Ye
|
fac1498067
|
[LoopPipelining] move automatic flattening to this pass; [QoREstimation] support AffineIfOp estimation, know issue: dependencies between load/store operations should be considered in scheduling
|
2020-12-14 23:41:08 -06:00 |
Hanchen Ye
|
93b5a2641e
|
[QoREstimation] support dep-aware II calculation (#4)
|
2020-12-14 20:48:59 -06:00 |
Hanchen Ye
|
2307b0141f
|
[QoREstimation] restructure qor estimator
|
2020-12-14 16:24:36 -06:00 |
Hanchen Ye
|
3f6d8e8560
|
[Passes] small bugs fixed; remove HLSCppAnalyzer; insert-pipeline-pragma to loop-pipelining
|
2020-12-14 13:45:13 -06:00 |
Hanchen Ye
|
c24b418c4a
|
[InsertPipelinePragma] move loop unrolling and canonicalization to this pass; inner loops of the pipelined loop are automatically fully unrolled now
|
2020-12-14 12:58:15 -06:00 |
Hanchen Ye
|
31ce83be83
|
[RemoveVarLoopBound] simplify impl logic; [QoREstimation] update to FuncOp pass, remove op-latency configuration
|
2020-12-13 22:07:04 -06:00 |
Hanchen Ye
|
142ffadd14
|
[Passes] change target operation from ModuleOp to FuncOp if possible
|
2020-12-13 19:39:33 -06:00 |
Hanchen Ye
|
77683ee618
|
[EmitHLSCpp] fix bugs in ArrayOp emission, this time the issue is completely solved by adding alias in addName() method
|
2020-12-13 17:36:01 -06:00 |
Hanchen Ye
|
2456efc28d
|
[SplitFunction] update to support legalized dataflow; [HLSKernelBufferize] update logic using TensorToMemRefOp
|
2020-12-13 14:50:35 -06:00 |
Hanchen Ye
|
7cfd343dd4
|
[LegalizeDataflow] impl of this pass, currently only support HLSKernel CNNOps
|
2020-12-13 11:51:10 -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
|
2ab2a84b13
|
[EmitHLSCpp] fix a bug in TensorLoadOp and ArrayOp emission
|
2020-12-10 23:31:06 -06:00 |
Hanchen Ye
|
0414489dfd
|
[HLSKernelBufferize] impl of this pass; a known issue is the unused return tensor can not be eliminated
|
2020-12-10 22:55:05 -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
|
cbc7573c16
|
[BenchmarkGen] generate CNN benchmarks using tensors for passing hidden feature maps; this is for the covenience of dataflow analysis
|
2020-12-10 18:46:12 -06:00 |
Hanchen Ye
|
fa105e1746
|
[HLSKernel] support tensor output for CNNOps
|
2020-12-10 17:33:59 -06:00 |
Hanchen Ye
|
3e1273803c
|
[BenchmarkGen] support bypass path for CNN benchmark gen
|
2020-12-10 16:26:16 -06:00 |
Hanchen Ye
|
26cf81a103
|
[SplitFunction] impl of this pass; [EmitHLSCpp] fix bugs in AddAlias method
|
2020-12-10 01:02:20 -06:00 |
Hanchen Ye
|
6b5d682df1
|
[ConvertToHLSCpp] support defining top function; [EmitHLSCpp] support to emit interface pragmas according to whether the current function is top function or not
|
2020-12-09 18:59:00 -06:00 |
Hanchen Ye
|
a17a1abeda
|
[EmitHLSCpp] support CallOp emission; fixed a bug when emitting scalar s_axilite interface
|
2020-12-09 17:24:49 -06:00 |
Hanchen Ye
|
b01d469bf3
|
[SplitFunction] start of split-function pass
|
2020-12-09 13:04:51 -06:00 |
Hanchen Ye
|
cbadc8f831
|
[Samples] add array-partition into ablation study; [ArrayPartition] support AffineStoreOp; bug fixes in EmitHLSCpp and ConvertToHLSCpp
|
2020-12-08 12:35:44 -06:00 |
Hanchen Ye
|
6a504e576a
|
[EmitHLSCpp] update ArrayOp emission logic
|
2020-12-07 23:32:51 -06:00 |
Hanchen Ye
|
f9bf38240e
|
[ArrayPartition] impl of this pass; note that due to the insufficient AffineExpr simplification mechanism in MLIR, this pass can't handle too complicated cases
|
2020-12-07 23:24:15 -06:00 |