[microTVM][Memory]Some questions about AllocDataSpaceWithScope

@lumos thanks for your question.

Currently, Scope has no effect in the C runtime (you can think of this as just a standard allocate call). At present, scope only serves as a hint to the C++ Device API, and certain (e.g. GPU) implementations use this to distinguish between thread-local vs shared GPU memory allocations. However, when [RFC] Unified Static Memory Planning lands, scope will then refer to a specific memory pool. Then, when [RFC] [uTVM] Embedded C Runtime Interface lands, you’ll specify the base address of these regions through the TVM<model>Memory struct (most of this is in, I believe, but the unification of the two is not).

Currently this is used for scratchpad memory and intermediate tensors. The USMP RFC referenced above will remove the need to use this allocate function for static models.