Intel® oneAPI DPC++/C++ Compiler
Talk to fellow users of Intel® oneAPI DPC++/C++ Compiler and companion tools like Intel® oneAPI DPC++ Library, Intel® DPC++ Compatibility Tool, and Intel® Distribution for GDB*

oneAPI 2025.3 DPC++ sycl hang

jimdempseyatthecove
Honored Contributor III
202 Views

Using oneAPI 2025.3 DPC++ hangs at startup where 2025.2 used to work.

Not, the hang occurs in a reduced program without sycl header.

IOW code equivalent to a "Hello World" hangs.

//#include <sycl/sycl.hpp>
#include <iostream>

int main() {
    std::cout << "Enumerate SYCL devices" << std::endl;
    // Get all available SYCL platforms
    //for (const auto& platform : sycl::platform::get_platforms()) {
    //    std::cout << "Platform: "
    //        << platform.get_info<sycl::info::platform::name>()
    //        << std::endl;

    //    // Get all devices for the current platform
    //    for (const auto& device : platform.get_devices()) {
    //        std::cout << "  Device: "
    //            << device.get_info<sycl::info::device::name>()
    //            << std::endl;

    //        // Query and print some key device properties
    //        std::cout << "    Vendor: "
    //            << device.get_info<sycl::info::device::vendor>()
    //            << std::endl;
    //        std::cout << "    Type: "
    //            << (device.is_cpu() ? "CPU" : device.is_gpu() ? "GPU" : "Other")
    //            << std::endl;
    //        std::cout << "    Max Compute Units: "
    //            << device.get_info<sycl::info::device::max_compute_units>()
    //            << std::endl;
    //        std::cout << "    Max Clock Frequency (MHz): "
    //            << device.get_info<sycl::info::device::max_clock_frequency>()
    //            << std::endl;
    //        std::cout << "    Global Memory Size (MB): "
    //            << device.get_info<sycl::info::device::global_mem_size>() / 1024 / 1024
    //            << std::endl;
    //        std::cout << "    Double Precision Support: "
    //            << (device.has(sycl::aspect::fp64) ? "Yes" : "No")
    //            << std::endl;
    //    }
    //}
    return 0;
}

The hang point (IMHO) is waiting for a completion flag from the GPU,

00007FFA759B509F  int         3  
00007FFA759B50A0  cmp         byte ptr [rcx+270h],0  
00007FFA759B50A7  jne         00007FFA759B50C3  
00007FFA759B50A9  nop         dword ptr [rax]  
00007FFA759B50B0  movzx       eax,byte ptr [rcx+271h]  
00007FFA759B50B7  nop  
00007FFA759B50B8  test        al,al  
00007FFA759B50BA  je          00007FFA759B50B0  
00007FFA759B50BC  mov         byte ptr [rcx+270h],1  
00007FFA759B50C3  ret  
00007FFA759B50C4  int         3  

Flag at [rcx+271h] never set

Call stack

jimdempseyatthecove_0-1762011854044.png

 

Did something kill/replace the graphics driver? (e.g. Windows Update)

 

Jim Dempsey

 

0 Kudos
2 Replies
jimdempseyatthecove
Honored Contributor III
191 Views

Note, pausing the hung program, opening a disassembly window, then issuing a step, places the program counter at the nop instruction. Opening the al register and setting the value from 0 to 1, then continue, the program returns and issues the cout.

 

Uncommenting the commented statements and doing the same. Produces the expected results.

Enumerate SYCL devices
Platform: Intel(R) oneAPI Unified Runtime over Level-Zero V2
  Device: Intel(R) Arc(TM) Pro B50 Graphics
    Vendor: Intel(R) Corporation
    Type: GPU
    Max Compute Units: 128
    Max Clock Frequency (MHz): 2600
    Global Memory Size (MB): 15876
    Double Precision Support: Yes
Platform: Intel(R) OpenCL
  Device: Intel(R) Core(TM) i9-14900K
    Vendor: Intel(R) Corporation
    Type: CPU
    Max Compute Units: 32
    Max Clock Frequency (MHz): 0
    Global Memory Size (MB): 65291
    Double Precision Support: Yes
Platform: Intel(R) OpenCL Graphics
  Device: Intel(R) Arc(TM) Pro B50 Graphics
    Vendor: Intel(R) Corporation
    Type: GPU
    Max Compute Units: 128
    Max Clock Frequency (MHz): 2600
    Global Memory Size (MB): 15876
    Double Precision Support: Yes
Platform: Intel(R) OpenCL
  Device: Intel(R) Core(TM) i9-14900K
    Vendor: Intel(R) Corporation
    Type: CPU
    Max Compute Units: 32
    Max Clock Frequency (MHz): 0
    Global Memory Size (MB): 65291
    Double Precision Support: Yes

Note 2, the hang occurs even after performing a repair on the driver (installed with gfx_win_101.6979.exe)

I do not know what changed.

 

Any information on a fix would be helpful.

 

Jim Dempsey

 

 

0 Kudos
Sravani_K_Intel
Moderator
79 Views

Please upgrade to the latest driver available for your system as this issue has been addressed in recent driver updates. 

0 Kudos
Reply