Hanchen Ye
|
ac1c9966a8
|
[HLSKernelToAffine] impl of GemmOp and SymmOp lowering
|
2020-11-30 22:57:42 -06:00 |
Hanchen Ye
|
29aff5e6fb
|
[HLSKernel] update BLASOps def; [HLSKernelToAffine] start of BLASOps lowering
|
2020-11-30 21:02:11 -06:00 |
Hanchen Ye
|
10050bc6a3
|
[HLSKernelToAffine] lowering impl of MergeOp
|
2020-11-30 12:45:34 -06:00 |
Hanchen Ye
|
8f1eadd913
|
[HLSKernel] rewrite def of CNNOps, all input and output are bufferized now; add mergeOp; [HLSKernelToAffine] update a compact lowering impl; [HLSKernelToLinalg] removed because this will not bring us significant simplification/convenience
|
2020-11-30 12:39:41 -06:00 |
Hanchen Ye
|
c9d694c65c
|
[HLSKernelToLinalg] add SymmOp lowering
|
2020-11-23 15:42:36 -06:00 |
Hanchen Ye
|
78eecf18da
|
[EmitHLSCpp] fix emitAllocOp bug; remove addAlias call when emitting arrayOp
|
2020-11-19 20:32:50 -06:00 |
Hanchen Ye
|
cc0b6cb065
|
[HLSKernelToLinalg] impl of gemm op lowering
|
2020-11-19 18:06:31 -06:00 |
Hanchen Ye
|
ba0b949477
|
[HLSKernel] add BLASOps and ISPOps
|
2020-11-18 22:56:07 -06:00 |
Hanchen Ye
|
c6ce8991d7
|
[HLSKernelToLinalg] add to linalg converter
|
2020-11-18 20:17:17 -06:00 |
Hanchen Ye
|
321dceafae
|
[BenchmarkGen] start of cnn test case generation
|
2020-11-10 23:34:40 -06:00 |
Hanchen Ye
|
219bbf99a1
|
[BenchmarkGen] impl benchmark-gen tool command line entry (#12)
|
2020-11-09 22:39:34 -06:00 |
Hanchen Ye
|
9648b7dc0a
|
[EmitHLSCpp] support scf if/for/yield emission (#14)
|
2020-11-05 21:05:44 -06:00 |
Hanchen Ye
|
2fb35bdc68
|
[EmitHLSCpp] start of supporting scf ops; [scalehls-gen] start of benchmark generation
|
2020-11-05 18:20:17 -06:00 |
Hanchen Ye
|
24cf815ee6
|
[Readme] add LLVM install instruction
|
2020-11-05 17:56:34 -06:00 |
Hanchen Ye
|
445fd5cb6a
|
[Readme] update install instruction
|
2020-11-05 17:41:58 -06:00 |
Hanchen Ye
|
cf4e36e626
|
[HLSKernelToAffine] impl lowering of maxpool, relu, gemm ops
|
2020-11-05 15:48:47 -06:00 |
Hanchen Ye
|
6adc65da7a
|
[HLSKernel] add maxpool, relu, and gemm operations
|
2020-11-04 22:40:29 -06:00 |
Hanchen Ye
|
e74dde111a
|
[Readme] update install instruction
|
2020-11-03 10:06:04 -06:00 |
Hanchen Ye
|
f8a9121469
|
Update to latest LLVM (035e12e6644)
|
2020-11-03 10:03:10 -06:00 |
Hanchen Ye
|
c39676e400
|
small bug fixed
|
2020-11-02 18:31:31 -06:00 |
Hanchen Ye
|
b2c9b5322c
|
[HLSKernelToAffine] ConvOp lowering impl
|
2020-11-02 18:00:16 -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 |
Hanchen Ye
|
a21319d95f
|
[Readme] There are too many todos, they are moved to issues of the github repo
|
2020-10-27 19:19:27 -05:00 |
Hanchen Ye
|
52926ca233
|
[Readme] Update todos, in the next days the implementation around the benchmark dialect should have the highest priority
|
2020-10-27 18:47:31 -05:00 |
Hanchen Ye
|
da05ac2d84
|
[Benchmark] start of implementing benchmark dialect and benchmark-to-affine lowering
|
2020-10-27 18:36:17 -05:00 |
Hanchen Ye
|
7b60aaae1b
|
[README] update todos and quick start instruction
|
2020-10-10 23:42:42 -05:00 |
Hanchen Ye
|
6bbb1be13c
|
[HLSCppEmitter] emit ArrayOp and loop/func pragmas; compatible with Vivado HLS 2019.1 for now.
|
2020-10-10 23:35:21 -05:00 |
Hanchen Ye
|
3f7a58d55f
|
[QoREstimation] new resource-aware II analysis! memory port resources are taken into consideration
|
2020-10-10 22:53:52 -05:00 |
Hanchen Ye
|
cbfb623c67
|
[QoREstimation] unroll loops in IR now! support a real partition-aware loop scheduling
|
2020-10-10 02:33:26 -05:00 |
Hanchen Ye
|
28926c5cc2
|
[QoREstimation] impl of getAccessNum method, this will take partition information and count number of accesses for each partition of each dimension of each load/store op, which will help to better estimate II and iteration latency
|
2020-10-08 02:45:44 -05:00 |
Hanchen Ye
|
58655710f5
|
remove expired files and includes; update readme
|
2020-10-06 01:58:10 -05:00 |
Hanchen Ye
|
8365d24ded
|
[QoREstimation] update code with the new ArrayOp; add new HLSCppToolBase class
|
2020-10-06 01:36:51 -05:00 |
Hanchen Ye
|
a2934a09a9
|
[ConvertToHLSCpp] support to recursively convert for loop body
|
2020-10-05 23:52:43 -05:00 |
Hanchen Ye
|
f3c40918e3
|
[HLSCppDialect] add array operations, and corresponding modification in HLSCppEmitter, ConverToHLSCpp
|
2020-10-05 23:26:42 -05:00 |
Hanchen Ye
|
3555fb9d2d
|
[HLSCppDialect] use enum to update attributes definition; enhance pragma operations to support bind_storage, partition, and interface; [HLSCppEmitter] support all enhanced pragma operations
|
2020-10-04 20:14:22 -05:00 |
Hanchen Ye
|
4838b15b0f
|
update func_pragma definition; update readme
|
2020-10-01 20:10:51 -05:00 |
Hanchen Ye
|
e2c21ca9ab
|
[QoREstimation] support dependency-based II analysis
|
2020-10-01 16:16:02 -05:00 |
Hanchen Ye
|
46f444463e
|
[QoREstimator] a simple impl of estimator with lots of assumptions, can handle unroll and pipeline
|
2020-09-30 23:26:26 -05:00 |
Hanchen Ye
|
003a91472c
|
update to the newest version LLVM
|
2020-09-30 09:14:18 -05:00 |
Hanchen Ye
|
77eaacd030
|
[HLSCppDialect] update pragma operations definition, update corresponding emitters
|
2020-09-25 23:19:24 -05:00 |
Hanchen Ye
|
4470f6c232
|
[QoREstimation] move this pass to Analysis directory
|
2020-09-24 15:18:34 -05:00 |
Hanchen Ye
|
3b98a97895
|
[SAMPLES] conv2d, maxpool2d, mnist samples emittable
|
2020-09-24 15:04:59 -05:00 |
Hanchen Ye
|
21968283d1
|
[QoREstimation] split out QoREstimation.h, StaticParam.h, and Visitor.h; refine QoREstimation code structure with new created classes; a relative completed searchLongestPath implementation
|
2020-09-24 00:30:03 -05:00 |
Hanchen Ye
|
ce293ee4c5
|
[QoREstimation] design parameters data structure; initial impl of longer path search
|
2020-09-23 18:23:43 -05:00 |
Hanchen Ye
|
9049f0cec8
|
[README] update todos
|
2020-09-23 14:15:21 -05:00 |
Hanchen Ye
|
b605503236
|
remove global dialect registration; update file structure
|
2020-09-23 14:10:34 -05:00 |
Hanchen Ye
|
9b7c1c1c69
|
[HLSCppDialect] pragma operations come back... eventually I found the analysis+estimate 2-step approach in COMBA is misleading, basically you can't clearly partition the task into two passes (StaticAnalysis and QoREstimation), so that I decide to merge the two into one QoREstimation pass. In this case, there's no need to move around estimated or extracted parameters between different passes, which means we can create an internal data structure in QoREstimation pass for decently holding all parameters, and pragma information will continue to be represented as pragma operation
|
2020-09-23 12:39:14 -05:00 |
Hanchen Ye
|
e06ba37001
|
[QoREstimation] initial implementation; add several config files for holding profiling data, resource constraint, and tool configuration. These config file can be passed to the compiler through QoREstimation pass option
|
2020-09-22 23:32:29 -05:00 |
Hanchen Ye
|
50b2a6c099
|
[HLSCppDialect] remove pragma operations: the functionality of pragma ops has been fully covered by param ops, and param ops is much more friendly to dse, hince there are no reason to maintain two groups of op with overlapped semantics; [README] update install & test instructions
|
2020-09-20 02:21:20 -05:00 |