Closed
Description
This is a blanket issue covering various improvements to the dpctl queue manager:
- All types of queues should be supported by dpctl including the "host" queue. (Queues creation should be supported for all available SYCL devices #311)
- Allow queue creation to support
properties
andasync_handler
. (Allow Sycl queue creation with an async_handler and supported SYCL properties #312) - dpCtl should support SYCL's filter selector. (Specifying backend for device_context #100)
- A SYCL context per device should be cached and the cached context should be used for queue creation. (dpctl shuold use a primary or default context per root device #313)
- The queue manager should support Python asyncio and be async task-safe. (Thread-safety of
device_context
#11)- The Python queue manager object should be a contextvar.
- The C API functions should be made reentrant and not use global objects.
- Change how the default/global queue is set and reset in dpctl. (Functions for selecting current device #247)
- Allow creating a
device_context
from an existing queue object. - Allow creating a queue from an existing device object (Allow creating a SyclQueue from an exisiting SyclDevice (possibly sub-device) or SyclContext #266)
- A helper function to print out a list of devices that can be used must be included in the queue manager. (SyclContext must have method to give list of devices #146)
- Add a way to enumerate list of available devices (Functions for enumerating devices #248)
- Add a way to enumerate list of available platforms.
- Obey all DPC++ runtime settings when setting defaults for dpctl (The default filter selector should be based on SYCL BE settings #267, dpctl should better query SYCL run-times for actually available backends. #139, Environment variables for configuring of default queue #131)
- Add
GetNumDevices
helper function.
Metadata
Metadata
Assignees
Labels
No labels