Toggle table of contents sidebar
dpctl.SyclQueue¶Python class representing sycl::queue
.
There are multiple ways to create a dpctl.SyclQueue
object:
Invoking the constructor with no arguments creates a context using the default selector.
import dpctl # Create a default SyclQueue q = dpctl.SyclQueue() print(q.sycl_device)
Invoking the constructor with specific filter selector string that creates a queue for the device corresponding to the filter string.
import dpctl # Create in-order SyclQueue for either gpu, or cpu device q = dpctl.SyclQueue("gpu,cpu", property="in_order") print([q.sycl_device.is_gpu, q.sycl_device.is_cpu])
Invoking the constructor with a dpctl.SyclDevice
object creates a queue for that device, automatically finding/creating a dpctl.SyclContext
for the given device.
import dpctl d = dpctl.SyclDevice("gpu") q = dpctl.SyclQueue(d) ctx = q.sycl_context print(q.sycl_device == d) print(any([ d == ctx_d for ctx_d in ctx.get_devices()]))
Invoking the constructor with a dpctl.SyclContext
and a dpctl.SyclDevice
creates a queue for given context and device.
import dpctl # Create a CPU device using the opencl driver cpu_d = dpctl.SyclDevice("opencl:cpu") # Partition the CPU device into sub-devices with two cores each. sub_devices = cpu_d.create_sub_devices(partition=2) # Create a context common to all the sub-devices. ctx = dpctl.SyclContext(sub_devices) # create a queue for each sub-device using the common context queues = [dpctl.SyclQueue(ctx, sub_d) for sub_d in sub_devices]
Invoking the constructor with a named PyCapsule
with the name “SyclQueueRef” that carries a pointer to a sycl::queue
object. The capsule will be renamed upon successful consumption to ensure one-time use. A new named capsule can be constructed by using dpctl.SyclQueue._get_capsule()
method.
ctx (dpctl.SyclContext
, optional) – Sycl context to create dpctl.SyclQueue
from. If not specified, a single-device context will be created from the specified device.
dev (str, dpctl.SyclDevice
, capsule, optional) –
Sycl device to create dpctl.SyclQueue
from. If not specified, sycl device selected by sycl::default_selector
is used. The argument must be explicitly specified if ctxt argument is provided.
If dev is a named PyCapsule
called “SyclQueueRef” and ctxt is not specified, dpctl.SyclQueue
instance is created from foreign sycl::queue object referenced by the capsule.
property (str, tuple(str), list(str), optional) – Defaults to None. The argument can be either “default”, “in_order”, “enable_profiling”, or a tuple containing these.
SyclQueueCreationError – If the dpctl.SyclQueue
object creation failed.
TypeError – In case of incorrect arguments given to constructors, unexpected types of input arguments, or in the case the input capsule contained a null pointer or could not be renamed.
Methods
Returns the address of the C API DPCTLSyclQueueRef
pointer as integral value of type size_t
.
mem_advise
(mem, count, advice)
memcpy
(dest, src, count)
Copy memory from src to dst
memcpy_async
(dest, src, count[, dEvents])
Copy memory from src
to dst
prefetch
(mem[, count])
Print information about the SYCL device associated with this queue.
submit
(kernel, args, gS[, lS, dEvents])
Submit dpctl.program.SyclKernel
for execution.
submit_async
(kernel, args, gS[, lS, dEvents])
Asynchronously submit dpctl.program.SyclKernel
for execution.
submit_barrier
([dependent_events])
Submits a barrier to this queue.
wait
()
Attributes
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4