Skip to content

Commit 425f4b9

Browse files
diptorupdDiptorup Deb
authored andcommitted
Move the initializer for queue manager queues to separate functions.
1 parent 4076520 commit 425f4b9

File tree

2 files changed

+14
-40
lines changed

2 files changed

+14
-40
lines changed

backends/include/dppl_sycl_program_interface.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ DPPL_API
7474
__dppl_give DPPLSyclProgramRef
7575
DPPLProgram_CreateFromOCLSource (__dppl_keep const DPPLSyclContextRef Ctx,
7676
__dppl_keep const char *Source,
77-
__dppl_keep const char *CompileOpts = nullptr);
77+
__dppl_keep const char *CompileOpts);
7878

7979
/*!
8080
* @brief Returns the SyclKernel with given name from the program, if not found

backends/source/dppl_sycl_queue_manager.cpp

Lines changed: 13 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -54,69 +54,43 @@ class QMgrHelper
5454
public:
5555
using QVec = vector_class<queue>;
5656

57-
static QVec* init_opencl_cpu_queues() {
57+
static QVec* init_queues (backend BE, info::device_type DTy) {
5858
QVec *queues = new QVec();
59-
59+
6060
for (auto &p : platform::get_platforms()) {
6161
auto Devices = p.get_devices();
6262
auto Ctx = context(Devices);
6363
if (p.is_host()) continue;
6464
for(auto &d : Devices) {
6565
auto devty = d.get_info<info::device::device_type>();
6666
auto be = p.get_backend();
67-
if(devty == info::device_type::cpu && be == backend::opencl) {
67+
if(devty == DTy && be == BE) {
6868
queues->emplace_back(Ctx, d);
6969
}
7070
}
7171
}
7272
return queues;
7373
}
74-
74+
7575
static QVec& get_opencl_cpu_queues ()
7676
{
77-
static QVec* queues = init_opencl_cpu_queues();
77+
static QVec* queues = init_queues(backend::opencl,
78+
info::device_type::cpu);
7879
return *queues;
7980
}
8081

81-
static QVec get_opencl_gpu_queues ()
82+
static QVec& get_opencl_gpu_queues ()
8283
{
83-
QVec queues;
84-
85-
for (auto &p : platform::get_platforms()) {
86-
auto Devices = p.get_devices();
87-
auto Ctx = context(Devices);
88-
if (p.is_host()) continue;
89-
for(auto &d : Devices) {
90-
auto devty = d.get_info<info::device::device_type>();
91-
auto be = p.get_backend();
92-
if(devty == info::device_type::gpu && be == backend::opencl) {
93-
queues.emplace_back(Ctx, d);
94-
}
95-
}
96-
}
97-
98-
return queues;
84+
static QVec* queues = init_queues(backend::opencl,
85+
info::device_type::gpu);
86+
return *queues;
9987
}
10088

10189
static QVec get_level0_gpu_queues ()
10290
{
103-
QVec queues;
104-
105-
for (auto &p : platform::get_platforms()) {
106-
auto Devices = p.get_devices();
107-
auto Ctx = context(Devices);
108-
if (p.is_host()) continue;
109-
for(auto &d : Devices) {
110-
auto devty = d.get_info<info::device::device_type>();
111-
auto be = p.get_backend();
112-
if(devty == info::device_type::gpu &&
113-
be == backend::level_zero) {
114-
queues.emplace_back(Ctx, d);
115-
}
116-
}
117-
}
118-
119-
return queues;
91+
static QVec* queues = init_queues(backend::level_zero,
92+
info::device_type::gpu);
93+
return *queues;
12094
}
12195

12296
static QVec& get_active_queues ()

0 commit comments

Comments
 (0)