From a09a522e9f2244f512c2b4b8d657b95a847b1940 Mon Sep 17 00:00:00 2001 From: Andrei Elovikov Date: Thu, 8 Dec 2022 13:16:27 -0800 Subject: [PATCH] [SYCL][Level Zero] Fix sub-sub-device in immediate cmdlists mode We still need to initialize the command lists similarly to the regular case. Sub-sub-device properties are handler by indexing into those vectors. --- sycl/plugins/level_zero/pi_level_zero.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sycl/plugins/level_zero/pi_level_zero.cpp b/sycl/plugins/level_zero/pi_level_zero.cpp index 2e54a010cacd5..4e5af8ca0c728 100644 --- a/sycl/plugins/level_zero/pi_level_zero.cpp +++ b/sycl/plugins/level_zero/pi_level_zero.cpp @@ -1201,6 +1201,12 @@ _pi_queue::_pi_queue(std::vector &ComputeQueues, // fixed to one particular compute CCS (it is so for sub-sub-devices). auto &ComputeQueueGroupInfo = Device->QueueGroup[queue_type::Compute]; ComputeQueueGroup.ZeQueues = ComputeQueues; + // Create space to hold immediate commandlists corresponding to the + // ZeQueues + if (Device->useImmediateCommandLists()) { + ComputeQueueGroup.ImmCmdLists = std::vector( + ComputeQueueGroup.ZeQueues.size(), CommandListMap.end()); + } if (ComputeQueueGroupInfo.ZeIndex >= 0) { ComputeQueueGroup.LowerIndex = ComputeQueueGroupInfo.ZeIndex; ComputeQueueGroup.UpperIndex = ComputeQueueGroupInfo.ZeIndex; @@ -1215,12 +1221,6 @@ _pi_queue::_pi_queue(std::vector &ComputeQueues, ComputeQueueGroup.LowerIndex = FilterLowerIndex; ComputeQueueGroup.UpperIndex = FilterUpperIndex; ComputeQueueGroup.NextIndex = ComputeQueueGroup.LowerIndex; - // Create space to hold immediate commandlists corresponding to the - // ZeQueues - if (Device->useImmediateCommandLists()) { - ComputeQueueGroup.ImmCmdLists = std::vector( - ComputeQueueGroup.ZeQueues.size(), CommandListMap.end()); - } } else { die("No compute queue available/allowed."); }