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 |
Hanchen Ye
|
e1b878e845
|
[HLSCppDialect] refine parameter operations definition; create seperate attributes tablegen
|
2020-09-20 02:05:58 -05:00 |
Hanchen Ye
|
f472053e58
|
[README] update todos
|
2020-09-19 18:37:46 -05:00 |
Hanchen Ye
|
53a83dee09
|
[HLSCppDialect] add many new passes declaration; add parameter operations declaration; remove scalehls-estimator tool
|
2020-09-19 18:21:08 -05:00 |
Hanchen Ye
|
c72afd4e8a
|
update to the newest LLVM version
|
2020-09-19 01:58:58 -05:00 |
Hanchen Ye
|
aa14c60a91
|
[README] add detailed build & test instruction; update TODOs list
|
2020-09-15 00:57:44 -05:00 |
Hanchen Ye
|
6ca221dfae
|
[EmitHLSCpp] support to emit pragma operations
|
2020-09-15 00:29:35 -05:00 |
Hanchen Ye
|
5f2751c217
|
[EmitHLSCpp] add affine testcases; fix a small bug in getName method
|
2020-09-14 23:29:03 -05:00 |
Hanchen Ye
|
cf995ba92b
|
[EmitHLSCpp] update affine expr emitter for prettier sub operation; add affine_expr testcase
|
2020-09-14 22:11:21 -05:00 |
Hanchen Ye
|
38d1c79503
|
change lit report style
|
2020-09-14 19:56:06 -05:00 |
Hanchen Ye
|
44ccefa462
|
[ConvertToHLSCpp] handle a corner case when returning constant scalar/tensor/vector
|
2020-09-14 01:41:39 -05:00 |
Hanchen Ye
|
df973a40be
|
[EmitHLSCpp] support to emit hlscpp::AssignOp; add many new testcases except affine operations
|
2020-09-14 01:25:07 -05:00 |
Hanchen Ye
|
42693da685
|
update readme
|
2020-09-13 23:45:52 -05:00 |
Hanchen Ye
|
8a67b13b99
|
[HLSCppDialect] add Assign operation, ConvertToHLSCpp pass; [HLSCppEmitter] add two testcases
|
2020-09-13 23:40:24 -05:00 |
Hanchen Ye
|
c707e72a0a
|
[PragmaInsertion] simple initial implementation for testing new pragma operations
|
2020-09-13 18:08:46 -05:00 |
Hanchen Ye
|
565a8f15d0
|
update code structure: add scalehls-estimator, EstimateQoR, and hlscpp::PragmaInsertion pass
|
2020-09-13 16:35:47 -05:00 |
Hanchen Ye
|
a31192405d
|
[HLSCppDialect] add pipeline & unroll & array_partition pragma operation
|
2020-09-13 01:02:15 -05:00 |
Hanchen Ye
|
1a6491b4fd
|
[HLSCppDialect] add ApplyPragmasOp and PragmaOpInterface
|
2020-09-12 18:30:04 -05:00 |
Hanchen Ye
|
45fe55af67
|
add new HLSCpp dialect and scalehls-opt tool
|
2020-09-09 23:44:47 -05:00 |
Hanchen Ye
|
1f4200e88a
|
mechanical rename hlsld to scalehls; update file structure
|
2020-09-06 18:05:16 -05:00 |
Hanchen Ye
|
417b10f68d
|
[EmitHLSCpp] shaped-type related operation emitters are further optimized; AffineYieldOp supports shaped-type; update readme and TODOs
|
2020-09-06 16:47:40 -05:00 |