Skip to content

"no matrix hardware on the target device, joint_matrix is not supported" on Arc 130V #16851

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Closed
PiFtch opened this issue Jan 31, 2025 · 4 comments
Assignees
Labels
bug Something isn't working

Comments

@PiFtch
Copy link

PiFtch commented Jan 31, 2025

Describe the bug

joint_matrix is not supported on Intel Arc 130V iGPU?

I'm using lunar lake iGPU Arc130V and oneAPI dpcpp compiler. I use joint_matrix in my code and it can be compiled but failed to run.
It throws an exception of "no matrix hardware on the target device, joint_matrix is not supported".

To reproduce

  1. code snippet of "reprod.cpp"
#include <sycl/sycl.hpp>
#include <sycl/ext/oneapi/matrix/matrix-intel.hpp>
#include <iostream>

using namespace sycl;
using namespace sycl::ext::oneapi::experimental::matrix;

int main() {
    range<2> global_range(16, 16);
    range<2> local_range(1, 1);

    auto devices = device::get_devices();
    std::cout << "Available SYCL devices:" << std::endl;
    for (const auto& dev : devices) {
        std::cout << "  " << dev.get_info<info::device::name>() << std::endl;
    }

    queue q;
    try {
        q.submit([&](handler& h) {
            h.parallel_for(nd_range<2>(global_range, local_range), [=](nd_item<2> item) {
                sub_group sg = item.get_sub_group();
                joint_matrix<sub_group, half, use::a, 2, 2, layout::row_major> tA;
            });
        }).wait();
    } catch (sycl::exception const& e) {
        std::cerr << "Caught a SYCL exception: " << e.what() << std::endl;
        std::terminate();
    }

    return 0;
}
  1. compiler command
    icpx -fsycl .\reprod.cpp -o .\reprod.exe
  2. launch the program
    .\reprod.exe
  3. output
Available SYCL devices:
  Intel(R) Arc(TM) 130V GPU (16GB)
  Intel(R) Core(TM) Ultra 5 228V
  Intel(R) Arc(TM) 130V GPU (16GB)
Caught a SYCL exception: no matrix hardware on the target device, joint_matrix is not supported

Environment

  • OS: Windows
  • Target device and vendor: Intel GPU Arc 130V iGPU on U5 228V
  • DPC++ version: Intel(R) oneAPI DPC++/C++ Compiler 2025.0.4 (2025.0.4.20241205)
  • Dependencies version:

[level_zero:gpu][level_zero:0] Intel(R) oneAPI Unified Runtime over Level-Zero, Intel(R) Arc(TM) 130V GPU (16GB) 20.4.4 [1.6.31441]
[opencl:cpu][opencl:0] Intel(R) OpenCL, Intel(R) Core(TM) Ultra 5 228V OpenCL 3.0 (Build 0) [2024.18.12.0.05_160000]
[opencl:gpu][opencl:1] Intel(R) OpenCL Graphics, Intel(R) Arc(TM) 130V GPU (16GB) OpenCL 3.0 NEO [32.0.101.6460]

Platforms: 3
Platform [#1]:
Version : 1.6
Name : Intel(R) oneAPI Unified Runtime over Level-Zero
Vendor : Intel(R) Corporation
Devices : 1
Device [#0]:
Type : gpu
Version : 20.4.4
Name : Intel(R) Arc(TM) 130V GPU (16GB)
Vendor : Intel(R) Corporation
Driver : 1.6.31441
UUID : 134128160100400002000000
Num SubDevices : 0
Num SubSubDevices : 0
Aspects : gpu fp16 fp64 online_compiler online_linker queue_profiling usm_device_allocations usm_host_allocations usm_shared_allocations ext_intel_pci_address ext_intel_gpu_eu_count ext_intel_gpu_eu_simd_width ext_intel_gpu_slices ext_intel_gpu_subslices_per_slice ext_intel_gpu_eu_count_per_subslice atomic64 ext_intel_device_info_uuid ext_intel_gpu_hw_threads_per_eu ext_intel_device_id ext_intel_memory_clock_rate ext_intel_memory_bus_width ext_intel_legacy_image ext_oneapi_bindless_images ext_oneapi_bindless_images_1d_usm ext_oneapi_bindless_images_2d_usm ext_intel_esimd ext_oneapi_ballot_group ext_oneapi_fixed_size_group ext_oneapi_opportunistic_group ext_oneapi_tangle_group ext_oneapi_graph ext_oneapi_limited_graph ext_oneapi_private_alloca ext_oneapi_queue_profiling_tag ext_oneapi_virtual_mem
info::device::sub_group_sizes: 16 32
Architecture: intel_gpu_lnl_m
Platform [#2]:
Version : OpenCL 3.0 WINDOWS
Name : Intel(R) OpenCL
Vendor : Intel(R) Corporation
Devices : 1
Device [#0]:
Type : cpu
Version : OpenCL 3.0 (Build 0)
Name : Intel(R) Core(TM) Ultra 5 228V
Vendor : Intel(R) Corporation
Driver : 2024.18.12.0.05_160000
Num SubDevices : 0
Num SubSubDevices : 0
Aspects : cpu fp16 fp64 online_compiler online_linker queue_profiling usm_device_allocations usm_host_allocations usm_shared_allocations usm_system_allocations usm_atomic_host_allocations usm_atomic_shared_allocations atomic64 ext_oneapi_srgb ext_oneapi_native_assert ext_intel_legacy_image ext_oneapi_ballot_group ext_oneapi_fixed_size_group ext_oneapi_opportunistic_group ext_oneapi_tangle_group ext_oneapi_private_alloca
info::device::sub_group_sizes: 4 8 16 32 64
Architecture: x86_64
Platform [#3]:
Version : OpenCL 3.0
Name : Intel(R) OpenCL Graphics
Vendor : Intel(R) Corporation
Devices : 1
Device [#1]:
Type : gpu
Version : OpenCL 3.0 NEO
Name : Intel(R) Arc(TM) 130V GPU (16GB)
Vendor : Intel(R) Corporation
Driver : 32.0.101.6460
UUID : 134128160100400002000000
Num SubDevices : 0
Num SubSubDevices : 0
Aspects : gpu fp16 fp64 online_compiler online_linker queue_profiling usm_device_allocations usm_host_allocations usm_shared_allocations atomic64 ext_intel_device_info_uuid ext_oneapi_srgb ext_intel_device_id ext_intel_legacy_image ext_intel_esimd ext_oneapi_ballot_group ext_oneapi_fixed_size_group ext_oneapi_opportunistic_group ext_oneapi_tangle_group ext_oneapi_private_alloca
info::device::sub_group_sizes: 16 32
Architecture: intel_gpu_lnl_m
default_selector() : gpu, Intel(R) oneAPI Unified Runtime over Level-Zero, Intel(R) Arc(TM) 130V GPU (16GB) 20.4.4 [1.6.31441]
accelerator_selector() : No device of requested type available. Please chec...
cpu_selector() : cpu, Intel(R) OpenCL, Intel(R) Core(TM) Ultra 5 228V OpenCL 3.0 (Build 0) [2024.18.12.0.05_160000]
gpu_selector() : gpu, Intel(R) oneAPI Unified Runtime over Level-Zero, Intel(R) Arc(TM) 130V GPU (16GB) 20.4.4 [1.6.31441]
custom_selector(gpu) : gpu, Intel(R) oneAPI Unified Runtime over Level-Zero, Intel(R) Arc(TM) 130V GPU (16GB) 20.4.4 [1.6.31441]
custom_selector(cpu) : cpu, Intel(R) OpenCL, Intel(R) Core(TM) Ultra 5 228V OpenCL 3.0 (Build 0) [2024.18.12.0.05_160000]
custom_selector(acc) : No device of requested type available. Please chec...

Additional context

No response

@PiFtch PiFtch added the bug Something isn't working label Jan 31, 2025
@YuriPlyakhin
Copy link
Contributor

@dkhaldi , could you please look?

@dkhaldi
Copy link
Contributor

dkhaldi commented Jan 31, 2025

@PiFtch, support on LNL was added starting oneapi release 2025.1.
If you don't have access to that yet, you can also use SYCLOS builds in https://github.com/intel/llvm/releases
Please let me know if the joint matrix support does not show up with these.

Copy link
Contributor

github-actions bot commented May 2, 2025

Hi! There have been no updates for at least the last 90 days, though the issue has assignee(s).

@dkhaldi, could you please take one of the following actions:

  • provide an update if you have any
  • unassign yourself if you're not looking / going to look into this issue
  • mark this issue with the 'confirmed' label if you have confirmed the problem/request and our team should work on it
  • close the issue if it has been resolved
  • take any other suitable action.

Thanks!

@dkhaldi
Copy link
Contributor

dkhaldi commented May 2, 2025

I am closing this issue as support was already added. Please reopen if you encounter an issue again.

@dkhaldi dkhaldi closed this as completed May 2, 2025
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants