[apache/tvm-rfcs] Update the guideline of RFC tracking issues (#13)

2021-07-27 Thread Cody Yu
Based on the two RFCs I've reviewed, there are two points related to the 
RFC tracking issue could be improved IMHO.

1. We currently state that the tracking issue should be opened after the RFC PR 
is merged. However, it means the author needs to file another PR to update the 
issue link, which seems not necessary to me. As a result, I refined the 
description, saying that the issue should be opened when the review is nearly 
done. The reviewer should also remind authors to open a tracking issue and 
update the link before merging the RFC PR.
2. To better tracking the RFC issues, I created a new label 
"rfc-tracking". It would be better to add this label to all RFC 
tracking issues associated with the RFCs proposed here.
You can view, comment on, or merge this pull request online at:

  https://github.com/apache/tvm-rfcs/pull/13

-- Commit Summary --

  * Update the guideline of RFC tracking issues

-- File Changes --

M README.md (5)

-- Patch Links --

https://github.com/apache/tvm-rfcs/pull/13.patch
https://github.com/apache/tvm-rfcs/pull/13.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/tvm-rfcs/pull/13


Re: [apache/tvm-rfcs] Update the guideline of RFC tracking issues (#13)

2021-07-27 Thread Cody Yu
cc @tqchen @hogepodge @areusch @jroesch 

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/tvm-rfcs/pull/13#issuecomment-887681011

Re: [apache/tvm-rfcs] Update the guideline of RFC tracking issues (#13)

2021-07-27 Thread Christopher Sidebottom
Hi @comaniac,

Thanks for suggesting this, it's been on my mind :smile_cat: 

I'd suggest that "nearly done" is ambiguous? As a less ambiguous alternative 
I'd propose always opening a tracking issue (if the RFC is big enough to 
require it) when you raise an RFC and if it ultimately gets rejected we just 
close the issue? This also allows code to evolve alongside the RFC.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/tvm-rfcs/pull/13#issuecomment-887686396

Re: [apache/tvm-rfcs] Update the guideline of RFC tracking issues (#13)

2021-07-27 Thread Cody Yu
> I'd suggest that "nearly done" is ambiguous? As a less ambiguous alternative 
> I'd propose always opening a tracking issue (if the RFC is big enough to 
> require it) when you raise an RFC and if it ultimately gets rejected we just 
> close the issue? This also allows code to evolve alongside the RFC.

I was thinking about that too, but I'm afraid that it might be confusing to see 
lots of RFC tracking issues (even they are closed). After all, deleting an 
issue is not allowed in Github, so it should be better to do our best to have 
only the tracking issues of accepted RFCs.

Meanwhile, I do agree that "nearly done" is too vague. I might rephrase it to 
"when the RFC is about to be accepted, a committer should remind authors to 
open a tracking issue and update the link before merging". How does that sound?


-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/tvm-rfcs/pull/13#issuecomment-887690611

Re: [apache/tvm-rfcs] Update the guideline of RFC tracking issues (#13)

2021-07-27 Thread Tianqi Chen
cc @apache/tvm-committers for awareness. Given this change seems to be 
non-controversial, we can adopt lazy consensus and merge after 3 days if no 
objection comes up

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/tvm-rfcs/pull/13#issuecomment-887690812

Re: [apache/tvm-rfcs] Update the guideline of RFC tracking issues (#13)

2021-07-27 Thread Jared Roesch
LGTM thanks @comaniac 

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/tvm-rfcs/pull/13#issuecomment-887696449

Re: [apache/tvm-rfcs] Update the guideline of RFC tracking issues (#13)

2021-07-27 Thread Ramana Radhakrishnan
> > I'd suggest that "nearly done" is ambiguous? As a less ambiguous 
> > alternative I'd propose always opening a tracking issue (if the RFC is big 
> > enough to require it) when you raise an RFC and if it ultimately gets 
> > rejected we just close the issue? This also allows code to evolve alongside 
> > the RFC.
> 
> I was thinking about that too, but I'm afraid that it might be confusing to 
> see lots of RFC tracking issues (even they are closed). After all, deleting 
> an issue is not allowed in Github, so it should be better to do our best to 
> have only the tracking issues of accepted RFCs.
>

Deleting an issue is not something we should do - keeping a record of why 
something was rejected is useful on a later date to know why but perhaps the 
issue of too many issues with the label is solved by a query for open 
rfc-tracking issues ?


Ramana

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/tvm-rfcs/pull/13#issuecomment-887696764

Re: [apache/tvm-rfcs] Update the guideline of RFC tracking issues (#13)

2021-07-27 Thread Cody Yu
> Deleting an issue is not something we should do - keeping a record of why 
> something was rejected is useful on a later date to know why but perhaps the 
> issue of too many issues with the label is solved by a query for open 
> rfc-tracking issues ?
> 
> Ramana

I think the record would always be kept here. IIUC, tracking issues in the main 
repo are only used to track the RFC implementation progress, which is not 
necessary for rejected RFCs. IMHO this can also save some times for authors: If 
an RFC is rejected, then authors don't even need to waste time proposing an 
implementation plan.



-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/tvm-rfcs/pull/13#issuecomment-887701334

Re: [apache/tvm-rfcs] Update the guideline of RFC tracking issues (#13)

2021-07-27 Thread Andrew Reusch
i don't mind if we have a bunch of closed tracking issues. we can categorize 
them. i agree with @u99127 that maintaining a record is important, and i also 
think it makes sense that the first PR to land on a tracking issue would be its 
RFC. i think committers should be able to notify authors at the time that it 
makes sense to create an issue, if authors don't do it pre-emptively.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/tvm-rfcs/pull/13#issuecomment-887736594

Re: [apache/tvm-rfcs] Update the guideline of RFC tracking issues (#13)

2021-07-27 Thread Cody Yu
> i don't mind if we have a bunch of closed tracking issues. we can categorize 
> them. i agree with @u99127 that maintaining a record is important, and i also 
> think it makes sense that the first PR to land on a tracking issue would be 
> its RFC. i think committers should be able to notify authors at the time that 
> it makes sense to create an issue, if authors don't do it pre-emptively.

I personally don't like a bunch of useless issues. Most issues in main TVM repo 
don't categorize well, so it might be confusing if we attempt to add more. 
Meanwhile, I don't think we will lose any record if tracking issues aren't 
opened for rejected RFCs, as all important records and discussions should be 
documented in the RFC PR. In contrast, tracking issue is just a "tracking" 
issue. If it has important information we don't have in the RFC, then it should 
be something wrong IMHO.

On the other hand, of course we cannot prevent authors from creating an issue 
at the time of filing the RFC PR if they prefer. We just don't explicitly 
enforce them to do so. I think that's why the current guideline suggests 
creating a tracking issue after merging RFC PR, and I do agree with this 
policy. With the updated guideline, we just ask committers to be in charge of 
making sure the issue is created before merging the RFC PR and help update the 
issue (add the RFC ID after merged and the label).

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/tvm-rfcs/pull/13#issuecomment-887750459

Re: [apache/tvm-rfcs] Update the guideline of RFC tracking issues (#13)

2021-07-27 Thread Andrew Reusch
@comaniac the RFC in my mind is mainly a design-level description of some 
aspect of TVM. Like e.g. PEP, they are meant to be consumed by people less 
familiar with the TVM codebase in order to gain familiarity. 

the tracking issue, on the other hand, documents the method and progress by 
which the RFC changes were applied to the TVM codebase, as well as serves as a 
convenient place to collect limitations (e.g. people can report major, 
clearly-related problems, or link downstream issues, and readers can track the 
efforts of resolving those things either on the tracking bug or on the 
downstream issue). I think that while the RFC should get updated if issues are 
discovered during implementation that affect the final result, the log of PRs 
submitted to implement an RFC is too much detail for an RFC. 

Tracking issues are pretty easy to categorize, as well--they are clearly 
distinct from any other issue and it's not hard for a reviewer to e.g. label 
them at the time of merging the RFC. So I'm not sure I see how they will be 
problematic to the overall organization. I agree if an RFC is rejected, we 
don't lose anything by not opening a tracking issue. I similarly don't think 
it's a  big deal to have a bunch of closed tracking issues for RFCs in the 
event that the issue was opened before the RFC was rejected.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/tvm-rfcs/pull/13#issuecomment-887764234

Re: [apache/tvm-rfcs] Update the guideline of RFC tracking issues (#13)

2021-07-27 Thread Cody Yu
> @comaniac the RFC in my mind is mainly a design-level description of some 
> aspect of TVM. Like e.g. PEP, they are meant to be consumed by people less 
> familiar with the TVM codebase in order to gain familiarity.
> 
> the tracking issue, on the other hand, documents the method and progress by 
> which the RFC changes were applied to the TVM codebase, as well as serves as 
> a convenient place to collect limitations (e.g. people can report major, 
> clearly-related problems, or link downstream issues, and readers can track 
> the efforts of resolving those things either on the tracking bug or on the 
> downstream issue). I think that while the RFC should get updated if issues 
> are discovered during implementation that affect the final result, the log of 
> PRs submitted to implement an RFC is too much detail for an RFC.
> 
> Tracking issues are pretty easy to categorize, as well--they are clearly 
> distinct from any other issue and it's not hard for a reviewer to e.g. label 
> them at the time of merging the RFC. So I'm not sure I see how they will be 
> problematic to the overall organization. I agree if an RFC is rejected, we 
> don't lose anything by not opening a tracking issue. I similarly don't think 
> it's a big deal to have a bunch of closed tracking issues for RFCs in the 
> event that the issue was opened before the RFC was rejected.

What you mentioned makes sense to me, but it seems not a case at least for the 
current accepted and reviewed RFCs, and that's why I got this impression: the 
interface/API/underlying designs are documented in the RFC while the tracking 
issue only lists the implementation milestones linked to the PRs. If we all 
agree that the RFC here should retain high-level design without mentioning the 
interaction between TVM codebase, it would be better to refine the guideline as 
well as RFC/issue templates. For example, the statement in the Reference-Level 
explanation section in RFC template has "It is reasonably clear how the feature 
would be implemented." IMHO, it is inevitable to mention some details in the 
TVM codebase to make a clear explanation.

On the other hand, my experience is that although one may propose a 100% 
reasonable RFC, the implementation is totally not acceptable. That's why I 
personally consider it would be better to also discuss the implementation in 
the RFC. We just need to make a clear claim that this part is highly related to 
TVM codebase and encourage readers to skip the section if they just want to 
know the high-level idea.

Anyways, it seems a bit off to discuss the scope of RFC and tracking issue in 
this PR. In summary, what this PR wants to make sure is that tracking issues 
are opened before merging RFCs. The topic of whether to explicitly request 
authors to open a tracking issue upon filing an RFC PR (i.e., move the 
**Tracking Issue** step before **Pull Request** in README) can be continued in 
another PR.



-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/tvm-rfcs/pull/13#issuecomment-887787785

Re: [apache/tvm-rfcs] Add Project API RFC (#8)

2021-07-27 Thread Gustavo Romero
>> On generate_project method, and considering TVMC, my only comment is that it 
>> should allow a project creation based also on MLF .tar, instead of only a 
>> "live" executor.
>I agree; let's merge additional logic in project.py to do this as follow-on to 
>this impl.
Sure! I'll submit a follow up patch I've been using to test this patchset with 
TVMC. My comment was also more for the records for others following the 
discussion since we've already discussed the details about.

>> On build method I just think it should be a way to force a rebuild in the 
>> same project dir (i.e. even if build dir exists)
> I believe that is the functionality now. Did you see something different?
Yes, a functionality detail. Currently I'm handling that at TVMC side, like if 
the `build/` dir exists it means `tvmc micro build` was run before so it 
informs the user and asks to confirm a re-build using a `--force` flag. In that 
case, if `--force` is used TVMC will remove the `build/` and let Project API 
recreate it. But I was just wondering if you would like to change that 
behavior. I have no preference here. What do you think?

>> Also, if possible, please consider the comments I've posted to the draft 
>> code also (apache/tvm#8380)
>Will take a look at these now that PoC is passing
OK. I think you answered all my initial comments there. I'll just post a couple 
more related to that new round, i.e. related to last commit pushed: 
https://github.com/apache/tvm/commit/de75022daeb889682db80f9e90ab58b3eee898dd I 
have no more comments regarding the RFC itself - I'm happy with it, so I'll 
just post some comments about the code. I think it's pretty close to land :)

>>Finally, I confirm that the fixes for MAX_ defines are ok (no build error) 
>>and the per board configs are kicking in correctly.
> I reworked the way these are done since posting the PoC--now prj.conf is 
> generated from microtvm_api_server.py so we can have a single combined 
> template_project and the prj.conf can be situation-specific. Let me know what 
> you think.

Yeah, I'm not much inclined to use that approach of using a Python code to 
generate the `prj.conf` because for adding new bits to the config fil will 
imply changing a Python code. That seems a bit strange to me. I thought of 
having a `prj.conf` per `project_type` but there is also other things to being 
handled like the stack configuration based on running the model on QEMU or a 
physical board, so I'm not sure, maybe we can go ahead with that approach and 
see it goes overtime? 

Regarding the `MAX_` defines, even with the new approach generating the 
`prj.conf` the `crt/crt_config.h` is used and so the `MAX_` defines are used 
anyways? Or I missed something?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/tvm-rfcs/pull/8#issuecomment-887842848

Re: [apache/tvm-rfcs] Add Project API RFC (#8)

2021-07-27 Thread Andrew Reusch
@Mousius please take another look when you can and explicitly approve!

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/tvm-rfcs/pull/8#issuecomment-887879286

Re: [apache/tvm-rfcs] [RFC] [Relay] Automatic Mixed Precision Pass (#6)

2021-07-27 Thread AndrewZhaoLuo
Thanks for driving this review @comaniac. I'll get to this later in the week.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/tvm-rfcs/pull/6#issuecomment-887889315

Re: [apache/tvm-rfcs] Add Project API RFC (#8)

2021-07-27 Thread Andrew Reusch
@tkonolige @guberti @mehrdadh please take another look and explicitly approve 
if you're good w/ this

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/tvm-rfcs/pull/8#issuecomment-887894876

Re: [apache/tvm-rfcs] Update the guideline of RFC tracking issues (#13)

2021-07-27 Thread Andrew Reusch
@comaniac i view the core data structures and interfaces as part of the 
design-level documentation. i think they belong in Reference-level explanation. 
see for example my RFC #8 --this includes the introduced interface as part of 
the RFC. details such as where code lives are not considered in the RFC.

i don't think an RFC is really very well-written if a reviewer finds the RFC 
acceptable but the implementation 100% unacceptable beyond a reasonable 
code-review process. code review should be about aligning on implementation 
details, and should be guided by the goals set forth in the RFC.

another thought I had while considering this proposal: there could be an 
alternate flow as follows:
- proposal thread on Discuss forum
- initial sketch of RFC sent as draft PR to tvm-rfcs plus tracking bug
- PMC/Committers review RFC sketch and approve/reject
- at this point, RFC could either be committed or just assigned an ID number 
(e.g. commit an empty file to tvm-rfcs to hold the number and associate 
tracking bug)
- implementation proceeds, tracked by bug
- to mark the conclusion of RFC implementation, author updates the RFC PR 
as-built and merges it.

the benefits of this arrangement is that there would be a pending code-review 
where people reviewing the implementation could request additional design-level 
documentation as complexities are found in implementation.

i'm not too sure if i'm attached to this proposal or not yet, but documenting 
my thought here as it's related.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/tvm-rfcs/pull/13#issuecomment-887914798

Re: [apache/tvm-rfcs] Update the guideline of RFC tracking issues (#13)

2021-07-27 Thread Chris Hoge
I'm not sure I envisioned the tracking issue number/link be explicitly placed 
into the RFC. The tracking issue referencing back to the RFC PR and and RFC 
itself seems like it would be sufficient, but I can understand the desire to 
codify that as part of the RFC.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/tvm-rfcs/pull/13#issuecomment-887986659