Inheritance diagram for q3::execution::gpu::device::SYCLGPUDeviceBackendImpl:Public Member Functions | |
| SYCLGPUDeviceBackendImpl () | |
| void * | allocate_unified (size_t size_bytes) override |
| void | deallocate (void *pointer) override |
| std::string | device_name () const override |
| const sycl::queue & | queue () const override |
| sycl::queue & | queue () override |
| bool | supports_double_precision () const override |
| void | synchronize () override |
| size_t | total_memory_bytes () const override |
Public Member Functions inherited from q3::execution::gpu::device::SYCLGPUDeviceBackend | |
| virtual | ~SYCLGPUDeviceBackend ()=default |
Public Member Functions inherited from q3::execution::gpu::device::GPUDeviceBackend | |
| virtual | ~GPUDeviceBackend ()=default |
|
inline |
|
inlineoverridevirtual |
Allocate unified shared memory via sycl::malloc_shared().
Shared memory is accessible from both host and device with automatic data migration managed by the SYCL runtime. This is the SYCL equivalent of CUDA's cudaMallocManaged().
Implements q3::execution::gpu::device::GPUDeviceBackend.
|
inlineoverridevirtual |
Deallocate memory previously allocated via allocate_unified().
Implements q3::execution::gpu::device::GPUDeviceBackend.
|
inlineoverridevirtual |
Human-readable name of the SYCL device (e.g., "Intel(R) Data Center GPU Max 1550").
Implements q3::execution::gpu::device::GPUDeviceBackend.
|
inlineoverridevirtual |
Access the underlying SYCL queue (const).
Implements q3::execution::gpu::device::SYCLGPUDeviceBackend.
|
inlineoverridevirtual |
Access the underlying SYCL queue for vendor-specific operations.
Implements q3::execution::gpu::device::SYCLGPUDeviceBackend.
|
inlineoverridevirtual |
Whether the device supports native double precision (FP64) computation.
Checks for the sycl::aspect::fp64 capability. Most Intel Data Center GPUs support FP64; some consumer GPUs may not.
Implements q3::execution::gpu::device::GPUDeviceBackend.
|
inlineoverridevirtual |
Block until all pending GPU operations on this queue have completed.
Uses wait_and_throw() to surface any asynchronous exceptions from previously submitted kernel or memory operations.
Implements q3::execution::gpu::device::GPUDeviceBackend.
|
inlineoverridevirtual |
Total device global memory in bytes.
Implements q3::execution::gpu::device::GPUDeviceBackend.