This is a blanket issue covering various improvements to the dpctl queue manager: - [x] All types of queues should be supported by dpctl including the "host" queue. (#311) - [x] Allow queue creation to support `properties` and `async_handler`. (#312) - [x] dpCtl should support SYCL's filter selector. (#100) - [x] A SYCL context per device should be cached and the cached context should be used for queue creation. (#313) - [ ] The queue manager should support Python asyncio and be async task-safe. (#11) - [ ] The Python queue manager object should be a contextvar. - [ ] The C API functions should be made reentrant and not use global objects. - [x] Change how the default/global queue is set and reset in dpctl. (#247) - [x] Allow creating a `device_context` from an existing queue object. - [x] Allow creating a queue from an existing device object (#266) - [x] A helper function to print out a list of devices that can be used must be included in the queue manager. (#146) - [x] Add a way to enumerate list of available devices (#248) - [x] Add a way to enumerate list of available platforms. - [x] Obey all DPC++ runtime settings when setting defaults for dpctl (#267, #139, #131) - [x] Add `GetNumDevices` helper function.
Activity
[-]Improvements toqueue manager[/-][+]Improvements to queue manager[/+]diptorupd commentedon Jan 8, 2022
I am closing the ticket as everything except the support for async.io is now implemented. We already have a separate ticket for the async.io issue.