Closed chhzh123 closed 4 years ago
@seanlatias I think hlib.nn is still a work in progress? Do you want @chhzh123 to write its own conv2d kernel instead?
This issue is already fixed with v0.3.
Shall we merge then?
Let me release v0.3 after I merge the HLS IP PR.
@seanlatias I'm currently developing in v0.3, but the issue still exists in this repository. I have fixed in my own branch, should I submit a PR? @zhangzhiru To support BNN, I need to add binary layers in HeteroCL, so maybe I still have to write my own conv2d kernel.
You should use hlib.op.nn
instead of hlib.nn
. I forgot to remove that one.
You should use
hlib.op.nn
instead ofhlib.nn
. I forgot to remove that one.
It seems more bugs are involved...
CommandLine Error: Option 'xcore-max-threads' registered more than once!
LLVM ERROR: inconsistency in registered CommandLine options
Can you check if you can run the lenet example under samples
successfully?
If not then maybe this bug comes from the latest LLVM. You are using 9.0, right?
Actually, the bug comes from different versions of TVM I installed. Maybe we should import heterocl.tvm
in hlib/frontend
instead of depending on the third-party TVM.
TVM is changing constantly. As a workaround: checkout TVM to a specific version. Please refer to the CI deployment script here: https://github.com/cornell-zhang/heterocl/blob/v0.3/.circleci/install_tvm.sh#L4
Yes, we should check out a stable version of TVM.
Yes, I know this would work. But we have already had a TVM in HeteroCL, I'm just wondering why we need to install another TVM outside HeteroCL, which seems unnecessary.
We would gradually remove the TVM inside HeteroCL. The reason why we install another TVM is to use them as a library like NumPy. Currently, we rely on Relay for parsing an ML network. So I think what we should do is check out a stable TVM version once in a while, instead of following the bleeding-edge version.
The issue is fixed in v0.3. Thanks!
When I call the following function
I get an error
It seems some packages are missing and should be added to header.
The bug results from non-zero padding, which will call the
hlib.nn.pad
function that is not covered by automatic test, as shown below.I find PR #120 wants to fix this issue, but no ongoing efforts are made.