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? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

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

Already on GitHub? Sign in 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants