You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Answering the first point, the execution_resource should be a generic execution resource type that isn't associated with any particular type of resource, however we should introduce someway of identifying what kind of resource a particular execution_resource is. A runtime approach would be favourable over a compile-time approach, firstly as many low-level APIs which provide access to a system's topology such as Hwloc, HSA and OpenCL and runtime discoverable so a compile-time interface would not be suitable for expressing this, and secondly because having a compile-time interface would mean introducing a large number of types, which would reduce or complciate the ability to store resources generically.
The text was updated successfully, but these errors were encountered:
To update this issue to the current design of P1795. We intend now to represent a system topology with an abstract representation which is then traversed and interpreted by standard and domain-specific traversal policies. This allows us to avoid enumerating different kinds of resources in the C++ standard and allow C++ to adapt to future changes in the hardware.
However, in order to communicate information about resources to a traversal policy to aid in identifying the topology structure and specific kinds of resources, we could introduce a tagging mechanism, whereby an implementation or some external topology representation (#110) can attach tags to a resource which can then be queried by a traversal policy.
These tags should not be typed, instead, they should simply have an integral or string value which can be incorporated by traversal policies, but also adapted over time.
As an example, you could have string-based tags which describe a resource's type for a given topology discovery API, such as "hwloc::numa_node", "opencl::platform", etc.
AerialMantis
changed the title
CP013: Enumerating different execution resource types
CP013: Introduce tags for providing abstract information about a resource (P1795)
May 21, 2020
As discussed in #40 we need to provide a way for users to identify the type of an
execution_resource
.Taken from #40:
The text was updated successfully, but these errors were encountered: