[x] Fix the graph hierarchy issue (by reconstructing a call graph from the flattened graph)
[x] Moved the code transformation logic to the end of the lowering process. Should fix #160 and fix #262 and fix #207
[x] Removed the automatically created on-chip buffer when moving data to/from the device. Users can choose from DMA or Stream mode for host-device communication (DMA is enabled by default) Should fix #235.
[x] Fixed the conflicts with resue_at (by adding an IR pass to fix the buffer binding issues). Should fix #264, fix #230 and fix #219 and fix #154
[x] Modified the printing logic of CodeGen VHLS. The function arguments are defined with the explicitly specified range, instead of using a pointer. Should fix #194
[x] Tutorial examples of default and custom platforms
[x] Tutorial examples of .to for on-chip and host-to-device streaming
[x] Support s.subgraph(). This is needed for dataflow support #245
[x] Fix the bugs in test_runtime_build and test_schedule_stream
[x] Added auto data placement logic when lowering the program
[x] Use hls::stream to implement FIFOs in Vivado HLS backend (NB, this is less stable than pragma annotated multi-dimensional array, based on what we observed in Vivado HLS 2019.2). Should fix #286
Other new features
[x] Added HCL_DEBUG_LEVEL(level) MACRO (enabled when HCL_DEBUG_ON is set)
[x] Add burst mode to host-to-device data streaming. Should fix #277
[x] Added Systolic Array with streaming between PE modules (modified from Niansong's code). Should fix #267
[x] Support on-chip data movement (e.g. s.to(tensor, p.xcel.BRAM)). Should fix #281
[x] Added module mode for hcl.compute. Should fix #283.
[x] Copied loop labeling from #259 authored by Hongzheng (not sure why the previous build didn't pass...)
[x] Added JSON library to replace the shared memory in HCL runtime. Should fix #290 and fix #241. During the testing, I will get some errors from python Error in python: double free or corruption (!prev)
resue_at
(by adding an IR pass to fix the buffer binding issues). Should fix #264, fix #230 and fix #219 and fix #154s.subgraph()
. This is needed for dataflow support #245test_runtime_build
andtest_schedule_stream
hls::stream
to implement FIFOs in Vivado HLS backend (NB, this is less stable than pragma annotated multi-dimensional array, based on what we observed in Vivado HLS 2019.2). Should fix #286Other new features
HCL_DEBUG_LEVEL(level)
MACRO (enabled when HCL_DEBUG_ON is set)s.to(tensor, p.xcel.BRAM)
). Should fix #281Error in python: double free or corruption (!prev)
Fixed bugs
loop.1
toloop_1
)