Closed zzzDavid closed 2 years ago
@zzzDavid make sure to format the cpp files using clang-format before pushing. The clang-format configuration file is located under docs
folder.
The local runner is terminated smh. I will restart it now. You may consider adding the CI/CD tests to this PR. it is also fine to put it in another PR.
@hecmay @chhzh123 I've added the general Stratus HLS backend tests to the CI tests, and now I would like to request a re-review for this PR. This PR has a basic SystemC backend support, where the input and output interfaces are implemented as serialized P2P ports.
I realize that for multi-dim array arguments, implementing them as memory-mapped interfaces (off-chip memories) is a better approach. But, as this PR has some general fixes such as nested hcl.select
, issue https://github.com/cornell-zhang/heterocl/issues/386 incorrectly removed cast node, I think we should merge this sooner, and I'll open another PR for systemc backend enhancement.
Thanks @zzzDavid. I will do another round code review.
But, as this PR has some general fixes such as nested hcl.select, issue https://github.com/cornell-zhang/heterocl/issues/386 incorrectly removed cast node
Ideally we need to break down these fixes into separate PRs for sake of better code management. Do you think it is possible to separate these fixes from this PR? It is okay if these are tightly coupled and cannot be easily taken apart. Please ensure you add regression tests for those bugs in the issues
folder
Idk for some reason i cannot add comments to the review. github keeps complaining that the diff is outdated when I insert comment in a file.
@hecmay @chhzh123 May I request another round of review?
Since this PR contains the SystemC backend and many other fixes, we decide it's better separated into a few PR each for one specific purpose. Therefore, I'm closing this PR, but the branch stays for future reference.
Stratus HLS SystemC Backend Support
This PR implements the Stratus HLS SystemC backend, with a few other enhancements.
Common Changes
utils.CastRemover
and added loop var datatype checking for LLVM backenddmlc
toDMLC
TVM*
toHCLTVM*
to avoid symbol conflictUsage Example: Binary Convolution
HeteroCL code
Generated Stratus HLS SystemC code
default_function.h
default_function.cc