[WIP][TVM][.NET] Introduce TVM.NET project#5236
[WIP][TVM][.NET] Introduce TVM.NET project#5236ANSHUMAN87 wants to merge 47 commits intoapache:mainfrom
Conversation
|
Thanks for the proposal, please mark the PR as draft before it is ready for review to reduce the burden on the CI |
@tqchen : Thanks for the suggestion! I missed it, but it seems that already raised PR cant be converted to Draft PR. Please advise how to proceed, there are 2 ways i can handle it. Thanks! |
|
both sounds fine |
@tqchen : As discussed earlier, i have not uploaded any changes yet to this PR. I think it will be better to setup CI for the Dotnet workspace first. So is it okay, if i upload another PR( a sample program, i already developed)? Please provide your valuable opinion. Thanks! |
|
We can start code reviews and getting feedbacks from the community. Since we do want to hold a high standard for new languauge bindings, when we are getting close to merge, we will look into the CI issues. In the meanwhile, please write testcases and run them locally |
@tqchen : Thanks for your feedback! I will start uploading my changes in this PR. |
|
@tqchen : I believe phase-0 development is complete now! May be we can change the status of the PR now! |
|
Language bindings are important features that we want to hold the highest standard as possible. So we do expect for longer review time, as well as more polishment. In a nutshell, what we want is not "an implement" of the feature. But to implement the feature in the best possible way so that it can be maintained, reused and developed in the future with minimum techinical debt. I am not expert in csharp, but by quickly look at the package, I do think it needs more careful works to reach to similar quality of our other language bindings. Here are some high level comments:
You could try release the package elsewhere and improve it a bit. Please also feel free to refer to other language bindings for reference. |
|
@tqchen : Thank you very much for your enlightening response! Please bear with me, if i misunderstood some of your comments. I have some queries to those as below:
Please help me clarify above queries. Thank again! |
|
By packaging the result elsewhere, i mean just create a separate repo that build on top of tvm, once the package get used and starts to mature, then send another PR to the mainline. Please refer to the existing projects(existing language bindings or mldotnet) for reference. Here are some exaples: If you look at other language bindings, you can find that there is no Unmanaged layer, because the user only sees the managed part of the API, and Unmanaged is part of the FFI. So that additional layer of abstraction is not necessary here, as functions can be implemented in the managed space by calling into private dll functions. Module, NDArray and Runtime are so coupled that they do not merit a separate folder(namespace) If you look at mldotnet, there are multiple files under the same folder if they belongs to the same module. |
|
@tqchen : Thanks a lot! I got your points clearly now! |
|
@tqchen : Your review comments are handled now. Please check. Thanks! |
|
@tqchen : I think i have reworked on all your comments now. With the new string marshaling approach, i believe now it is more modular. Can you please take a look, and provide your valuable opinons, if any other improvements can be done. Thanks! |
|
Please be patient. Careful code reveiws takes time and they are as valuable, if not more valuable than the contribution itself. We certainly need more eyes for a new runtime. One way to help review other PRs and get the reviewers to return in favor. It would be useful to find another person who can co-author, review and further polish the PR, in terms of code-style and the overall implementation, since we need to keep a good maintaince of the language packages beyond a single person. |
|
@tqchen @ANSHUMAN87 I am doing triage, what is the status on this one? |
|
Given the stale state, let us close this for now. Thanks @ANSHUMAN87 @jroesch |
This PR brings new feature into TVM:
Development phase-0 is completed!
Please refer RFC
Welcome for review!
Thanks you very much!