codeplaysoftware / standards-proposals

Repository for publicly sharing proposals in various standards groups
Apache License 2.0
27 stars 17 forks source link

CP013: Create a pseudo list of properties/queries (P1795) #108

Open AerialMantis opened 4 years ago

AerialMantis commented 4 years ago

One aspect of the feedback from SG1 on P1795r1 at Belfast was that we need to demonstrate how the abstract topology discovery interface proposed would work in practice, and provide some examples of how properties of the system topology could be used generically within applications.

I think one of the first steps in this is to identify the potential abstract properties or queries that could be expressed generically, i.e. not pertaining to any particular kind of processor or system component.

So far I have the following list:

We don't need to propose all of these properties now, but we can prepare a pseudo list of properties or queries for expositional purposes to demonstrate how algorithms could take advantage of this interface.

AerialMantis commented 4 years ago

Suggest having the abstraction of connections be more generic, i.e. simply having queries for the type of the resource and the resources that it is connected to.

We also want to be able to query the type of a connection between two resources - bandwidth, async DMAs, etc.

We may also want to reflect systems that have more than one connection between two resources.

We could try to write up a pseudo example that implements a matrix multiply algorithm for GPU, single socket CPU and NUMA using properties to differentiate the different architectures.

It would also be useful to be able to detect if a number of resources could be constructed into a single executor, it would be useful to have a notion of resource context compatibility and whether the implementation allows those resources to be composed. We don't want an OpenCL like hierarchy that includes the vendor of a resource, but having a query for the vendor would allow you to fin all devices of a particular vendor.

AerialMantis commented 4 years ago

I've created a PR which updates the proposed direction of the paper to clarify the approach being taken and adds the above pseudo list of properties that we expect to be useful when using topology discovery.

https://github.com/codeplaysoftware/standards-proposals/pull/113

AerialMantis commented 4 years ago

Feedback from SG1 at the Prague meeting: