Skip to content

Commit 4076520

Browse files
PokhodenkoSADiptorup Deb
authored andcommitted
Update dppl_sycl_queue_manager.cpp
About static variables.
1 parent 1edf230 commit 4076520

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

backends/source/dppl_sycl_queue_manager.cpp

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

57-
static QVec get_opencl_cpu_queues ()
58-
{
59-
QVec queues;
60-
57+
static QVec* init_opencl_cpu_queues() {
58+
QVec *queues = new QVec();
59+
6160
for (auto &p : platform::get_platforms()) {
6261
auto Devices = p.get_devices();
6362
auto Ctx = context(Devices);
@@ -66,13 +65,18 @@ class QMgrHelper
6665
auto devty = d.get_info<info::device::device_type>();
6766
auto be = p.get_backend();
6867
if(devty == info::device_type::cpu && be == backend::opencl) {
69-
queues.emplace_back(Ctx, d);
68+
queues->emplace_back(Ctx, d);
7069
}
7170
}
7271
}
73-
7472
return queues;
7573
}
74+
75+
static QVec& get_opencl_cpu_queues ()
76+
{
77+
static QVec* queues = init_opencl_cpu_queues();
78+
return *queues;
79+
}
7680

7781
static QVec get_opencl_gpu_queues ()
7882
{

0 commit comments

Comments
 (0)