Hi All,

Thanks for taking the time to look at it.
Initially, my thoughts were to use the same field for two purposes : 
P1) Indicate candidate memories (a.k.a. pools) that each allocate be associated 
with
P2) After the memory planner is run, it will pick one out of the list by 
reducing the candidate to exactly 1.

However, having read the comments here, I feel these could be two different 
fields.

>The proposed pinned memory field, however, have multiple of such candidates. 
>In my understanding they can be served as aadditional hints to follow up 
>passes. If the intended use is multiple candidate hints, then the tag is 
>perhaps no longer approperiate because it is used to indicate one kind of 
>special memory that we place the data to.

For P1, I think we could use this annotation field to initially describe this.
Something like (as proposed by @MichaelJKlaiberBosch 
(here)[https://github.com/apache/tvm-rfcs/pull/9/files#r671371629] )  : 

T1) :
```
Map<String, PoolInfo> candidate_memory_pools;
```
In this way, we dont need to carry this as an IRModule attribute to be 
de-referenced.
Or should we just add a very generic 

T2) :
```
Map<String, Objectref> annotations;
```
when the key is "candidate_memory_pools" would be the value is Map<String, 
PoolInfo> candidate_memory_pools.
I would personally prefer T1 for its direct approach here but T2 could also be 
made to work.

>What you described is closest to the "tag" field of the storage scope, which 
>we put as part of the pointer and associate with most of the storage. I think 
>it would be great to think in terms of this direction.

> Specifically, when we have a clear distinction of memory types, "sram", 
> "shared_memory", "texture". We will use the special memory tag to indicate 
> the type of such kind of memory.

Thereafter once the memory planner is run, it could read the annotation field 
and populate a final 'global.<memory_pool>'.
I think this should address the all of your concerns. Let me know, if agreed 
I'll adjust the RFC text.

-- 
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/23#issuecomment-909254101

Reply via email to