Quantum 3xplorer (Q3)
Loading...
Searching...
No Matches
sycl.hpp
Go to the documentation of this file.
1
#pragma once
2
3
/**
4
* SYCLGPUDeviceBackend header.
5
*
6
* Provides the SYCL-specific queue() accessor that oneMKL BLAS, LAPACK, and
7
* DFT wrappers need. This header can be included from other SYCL .cpp files
8
* without pulling in the full device implementation.
9
*
10
* The concrete implementation lives in device/sycl.cpp.
11
*/
12
13
#include "
layer_0_core/execution/gpu/device/init.hpp
"
14
15
#include <sycl/sycl.hpp>
16
17
namespace
q3
{
18
namespace
execution {
19
namespace
gpu {
20
namespace
device {
21
22
/**
23
* SYCLGPUDeviceBackend — abstract interface for SYCL-specific accessors.
24
*
25
* Exposes the SYCL queue needed by oneMKL BLAS/LAPACK/DFT operations.
26
* Concrete implementation lives in device/sycl.cpp.
27
*/
28
class
SYCLGPUDeviceBackend
:
public
GPUDeviceBackend
{
29
public
:
30
virtual
~SYCLGPUDeviceBackend
() =
default
;
31
32
/**
33
* Access the underlying SYCL queue for vendor-specific operations.
34
*
35
* Used by SYCL BLAS/LAPACK/FFT wrappers that need the queue to submit
36
* oneMKL operations.
37
*/
38
virtual
sycl::queue&
queue
() = 0;
39
40
/**
41
* Access the underlying SYCL queue (const).
42
*/
43
virtual
const
sycl::queue&
queue
()
const
= 0;
44
};
45
46
}
// namespace device
47
}
// namespace gpu
48
}
// namespace execution
49
}
// namespace q3
q3::execution::gpu::device::GPUDeviceBackend
Definition
init.hpp:22
q3::execution::gpu::device::SYCLGPUDeviceBackend
Definition
sycl.hpp:28
q3::execution::gpu::device::SYCLGPUDeviceBackend::queue
virtual const sycl::queue & queue() const =0
q3::execution::gpu::device::SYCLGPUDeviceBackend::queue
virtual sycl::queue & queue()=0
q3::execution::gpu::device::SYCLGPUDeviceBackend::~SYCLGPUDeviceBackend
virtual ~SYCLGPUDeviceBackend()=default
init.hpp
q3
Definition
q3_core_api.hpp:33
src
layer_0_core
execution
gpu
device
sycl.hpp
Generated by
1.9.8