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 |
Hanchen Ye
|
1df6af6af6
|
update readme
|
2020-09-06 03:25:26 -05:00 |
Hanchen Ye
|
cdb1c12c0b
|
[EmitHLSCpp] update code structure to better handle shaped-type element-wise operations (e.g. standard unary/binary, tensor load/store); now all standard operations support shaped-types (if applicable)
|
2020-09-06 03:04:54 -05:00 |
Hanchen Ye
|
bdcfa4efe1
|
[EmitHLSCpp] support tensor/vector function input/output; expand binary/unary operations emitter to handle tensor/vector input
|
2020-09-05 19:37:18 -05:00 |
Hanchen Ye
|
d7556c8a0a
|
[EmitHLSCpp] add legalization check for unranked/dynamic shaped tensor/memref; support DimOp and RankOp
|
2020-09-05 16:52:54 -05:00 |
Hanchen Ye
|
3e41770540
|
[EmitHLSCpp] support ranked tensor load and store
|
2020-09-05 13:25:31 -05:00 |
Hanchen Ye
|
5c95351a47
|
update readme TODO list
|
2020-09-05 00:05:34 -05:00 |
Hanchen Ye
|
c4783f0205
|
[EmitHLSCpp] support tensor/vector ConstantOp
|
2020-09-04 23:49:21 -05:00 |
Hanchen Ye
|
45bf5ac5a7
|
[EmitHLSCpp] add many new op entries; support IndexCastOp and AllocaOp
|
2020-09-04 18:41:39 -05:00 |
Hanchen Ye
|
0bd2a2dbb0
|
[EmitHLSCpp] update ConstantOp handler: add future interface for tensor/vector value
|
2020-09-04 16:29:56 -05:00 |
Hanchen Ye
|
f4b8baccd1
|
[EmitHLSCpp] support AffineParallelOp; enhance AffineYieldOp emitter to support reductions in AffineParallelOp
|
2020-09-03 22:12:30 -05:00 |
Hanchen Ye
|
e6f539103d
|
update readme and todo list; support select operation
|
2020-09-03 20:09:30 -05:00 |
Hanchen Ye
|
626f38e3e2
|
[EmitHLSCpp] support affine apply/max/min/load/store operations
|
2020-09-03 19:44:09 -05:00 |
Hanchen Ye
|
3a98c5efa5
|
[EmitHLSCpp] support AffineIfOp with explicit AffineYieldOp as terminator for returning results
|
2020-09-03 15:59:54 -05:00 |
Hanchen Ye
|
c8500bcd85
|
[EmitHLSCpp] support AffineIfOp
|
2020-09-03 15:24:14 -05:00 |