StanfordLegion / legion

The Legion Parallel Programming System
https://legion.stanford.edu
Apache License 2.0
686 stars 145 forks source link

Unify most memory kinds #1731

Open muraj opened 3 months ago

muraj commented 3 months ago

Following #680 which is related to processors, it would be good to reduce the number of memory kinds we have to the bare necessities, having applications rely on capability and affinity queries instead of some set features based on the KIND.

A good example of this is, instead of multiple SOCKET_MEM memories, have multiple SYSTEM memories that are bound to the various numa nodes, with their affinities reflected by their numa bindings.

Another example would be ZCMEM, which will eventually need to support NUMA affinities to specific GPU processors. In this case, we plan to expose multiple ZCMEM memories with stronger affinities to their associated GPUs rather than introduce a new kind.

This should make Realm internal logic much easier to work with, Realm-based libraries easier to compose and handle compatibility cases, and Realm applications much easier to develop.

elliottslaughter commented 3 months ago

This is a user-visible change, so we should discuss the proposed interface (once you have one) in a Legion meeting.