- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have recently installed oneAPI Base Toolkit and the Metrics Discovery API library on Ubuntu
However the vtune-self-checker Fails on checking DPC++ application as prerequisite for GPU analyses.
The associated log (below) reports: "error while loading shared libraries: libsycl.so.5: cannot open shared object file: No such file or directory"
I note that the following files exist:
- /opt/intel/oneapi/compiler/latest/linux/lib/libsycl.so -> ./libsycl.so.6
- /opt/intel/oneapi/compiler/latest/linux/lib/libsycl.so.6 -> ./libsycl.so.6.0.0
- /opt/intel/oneapi/compiler/latest/linux/lib/libsycl.so.6.0.0
Software versions:
Ubuntu 22.04.1 LTS
intel-basekit version (2023.0.0-25537).
VTune(TM) Profiler 2023.0.0 (build 624757)
intel-metrics-discovery-1.12.160-1_amd64.deb
How do I correct this problem?
============================================
excerpt from vtune-self-checker log.txt
----------------------------------------
Checking DPC++ application as prerequisite for GPU analyses...
Setting envirnoment variable:
SYCL_DEVICE_FILTER=opencl:gpu
Command line:
/opt/intel/oneapi/vtune/2023.0.0/bin64/self_check_apps/matrix.dpcpp/matrix.dpcpp
Stderr:
/opt/intel/oneapi/vtune/2023.0.0/bin64/self_check_apps/matrix.dpcpp/matrix.dpcpp: error while loading shared libraries: libsycl.so.5: cannot open shared object file: No such file or directory
Setting envirnoment variable:
SYCL_DEVICE_FILTER=level_zero:gpu
Command line:
/opt/intel/oneapi/vtune/2023.0.0/bin64/self_check_apps/matrix.dpcpp/matrix.dpcpp
Stderr:
/opt/intel/oneapi/vtune/2023.0.0/bin64/self_check_apps/matrix.dpcpp/matrix.dpcpp: error while loading shared libraries: libsycl.so.5: cannot open shared object file: No such file or directory
Setting envirnoment variable:
ZES_ENABLE_SYSMAN=1
Command line:
/opt/intel/oneapi/vtune/2023.0.0/bin64/self_check_apps/matrix.dpcpp/matrix.dpcpp
Stderr:
/opt/intel/oneapi/vtune/2023.0.0/bin64/self_check_apps/matrix.dpcpp/matrix.dpcpp: error while loading shared libraries: libsycl.so.5: cannot open shared object file: No such file or directory
Checking DPC++ application as prerequisite for GPU analyses: Fail
Unable to run DPC++ application on GPU connected to this system. If you are using an Intel GPU and want to verify profiling support for DPC++ applications, check these requirements:
* Install Intel(R) GPU driver.
* Install Intel(R) Level Zero GPU runtime.
* Install Intel(R) oneAPI DPC++ Runtime and set the environment.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi nhoj,
Thanks for posting your concern on the forum. However, this forum is for assistance on getting started (such as registration, downloading, licensing and installing) questions regarding the Intel® oneAPI Toolkits, Intel® Parallel Studio XE and Intel® System Studio. Due to that the query is out of our scope.
However, based on your query, we are moving this topic to the 'Analyzers' community for further assistance. Our internal team will get back to you there in a timely manner.
Hope you have a nice day ahead.
Regards,
Soumya
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
We ran one dpcpp sample on DevCloud with the old binary and got a similar error that you got.
The reason is oneAPI is updated to 2023.0 and in this "runtime of oneAPI 2023.0 is not backwards compatible". So, we can’t run the old binaries, in order to run the old binaries we need to rebuild those binaries again.
To resolve the issue, you need to create new binary file after the installation of oneAPI base toolkit
Please find the screenshot below:
If you have any further issue, please let us know.
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks Athria for your prompt response - and apologies for my tardy reply.
Sorry this has NOT solved my problem - I am new to OneAPI so I may need a little more detailed guidance if possible:
I was unable to locate file called mat_mul.cpp in my installation - but there is a number of similarly named examples matmul.cpp
:/opt/intel$ find -name mat*.cpp
./oneapi/dnnl/2023.0.0/cpu_dpcpp_gpu_dpcpp/examples/matmul.cpp
./oneapi/dnnl/2023.0.0/cpu_dpcpp_gpu_dpcpp/examples/matmul_perf.cpp
./oneapi/dnnl/2023.0.0/cpu_tbb/examples/matmul.cpp
./oneapi/dnnl/2023.0.0/cpu_tbb/examples/matmul_perf.cpp
./oneapi/dnnl/2023.0.0/cpu_gomp/examples/matmul.cpp
./oneapi/dnnl/2023.0.0/cpu_gomp/examples/matmul_perf.cpp
./oneapi/dnnl/2023.0.0/cpu_iomp/examples/matmul.cpp
./oneapi/dnnl/2023.0.0/cpu_iomp/examples/matmul_perf.cpp
./oneapi/diagnostics/2022.2.0/checkers_py/oneapi_check_offloads/matmul_offload.cpp
Also I do not have icpx installed (but I can install) - or will gcc suffice?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
We have not heard back from you. Could you please give us an update? Is your issue resolved?
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
The mat_mul.cpp sample we used is a custom file created by us. You can recompile your own sample after sourcing the oneAPI environment using the below command:
source /opt/intel/oneapi/setvars.sh --force
Now you will be able to compile your cpp file using icpx/dpcpp
icpx -fsycl <cpp file> -o <output_file_name>
>>Also I do not have icpx installed (but I can install) - or will gcc suffice?
If you source the oneAPI environment as mentioned above, you could use icpx.
Hope this helps. If you face any issue, please let us know.
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
We have not heard back from you. Could you please give us an update?
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks again Athira.
I can now use icpx. I selected a random example matmul.cpp to test - and the compilation proceeded & failed with errors (below).
However, my central concern is that:
"the vtune-self-checker Fails on checking DPC++ application as prerequisite for GPU analyses."
The following analyses have failed on the system:
* GPU Compute/Media Hotspots (characterization mode)
* GPU Compute/Media Hotspots (source analysis mode)
I do not understand how the prior posts relate to this central issue???
foo@bar:~/temp$ /opt/intel/oneapi/vtune/latest/bin64/vtune-self-checker.sh
Intel(R) VTune(TM) Profiler Self Check Utility
Copyright (C) 2009 Intel Corporation. All rights reserved.
Build Number: 624757
HW event-based analysis (counting mode) (Intel driver)
Example of analysis types: Performance Snapshot
Collection: Ok
Finalization: Ok...
Report: Ok
Instrumentation based analysis check
Example of analysis types: Hotspots and Threading with user-mode sampling
Collection: Ok
Finalization: Ok...
Report: Ok
HW event-based analysis check (Intel driver)
Example of analysis types: Hotspots with HW event-based sampling, HPC Performance Characterization, etc.
Collection: Ok
vtune: Warning: To enable hardware event-based sampling, VTune Profiler has disabled the NMI watchdog timer. The watchdog timer will be re-enabled after collection completes.
Finalization: Ok...
vtune: Warning: Cannot read load addresses of sections from `/sys/module/nf_tables/sections'. This may affect the correctness of symbol resolution for `nf_tables'. Make sure this directory exists and all files in this directory have read permissions.
vtune: Warning: Cannot read load addresses of sections from `/sys/module/nf_conntrack/sections'. This may affect the correctness of symbol resolution for `nf_conntrack'. Make sure this directory exists and all files in this directory have read permissions.
vtune: Warning: Cannot read load addresses of sections from `/sys/module/kvm/sections'. This may affect the correctness of symbol resolution for `kvm'. Make sure this directory exists and all files in this directory have read permissions.
vtune: Warning: Cannot read load addresses of sections from `/sys/module/iwlwifi/sections'. This may affect the correctness of symbol resolution for `iwlwifi'. Make sure this directory exists and all files in this directory have read permissions.
vtune: Warning: Cannot read load addresses of sections from `/sys/module/drm/sections'. This may affect the correctness of symbol resolution for `drm'. Make sure this directory exists and all files in this directory have read permissions.
vtune: Warning: Cannot read load addresses of sections from `/sys/module/nvme/sections'. This may affect the correctness of symbol resolution for `nvme'. Make sure this directory exists and all files in this directory have read permissions.
vtune: Warning: Cannot read load addresses of sections from `/sys/module/i915/sections'. This may affect the correctness of symbol resolution for `i915'. Make sure this directory exists and all files in this directory have read permissions.
vtune: Warning: Function and source-level analysis for the Linux kernel will not be possible since neither debug version of the kernel nor kernel symbol tables are found. See the Enabling Linux Kernel Analysis topic in the product online help for instructions.
Report: Ok
HW event-based analysis check (Intel driver)
Example of analysis types: Microarchitecture Exploration
Collection: Ok
vtune: Warning: To enable hardware event-based sampling, VTune Profiler has disabled the NMI watchdog timer. The watchdog timer will be re-enabled after collection completes.
Finalization: Ok...
vtune: Warning: Cannot read load addresses of sections from `/sys/module/kvm/sections'. This may affect the correctness of symbol resolution for `kvm'. Make sure this directory exists and all files in this directory have read permissions.
vtune: Warning: Cannot read load addresses of sections from `/sys/module/nvme/sections'. This may affect the correctness of symbol resolution for `nvme'. Make sure this directory exists and all files in this directory have read permissions.
vtune: Warning: Cannot read load addresses of sections from `/sys/module/e1000e/sections'. This may affect the correctness of symbol resolution for `e1000e'. Make sure this directory exists and all files in this directory have read permissions.
vtune: Warning: Cannot read load addresses of sections from `/sys/module/nf_conntrack/sections'. This may affect the correctness of symbol resolution for `nf_conntrack'. Make sure this directory exists and all files in this directory have read permissions.
vtune: Warning: Cannot read load addresses of sections from `/sys/module/xt_conntrack/sections'. This may affect the correctness of symbol resolution for `xt_conntrack'. Make sure this directory exists and all files in this directory have read permissions.
vtune: Warning: Cannot read load addresses of sections from `/sys/module/nf_tables/sections'. This may affect the correctness of symbol resolution for `nf_tables'. Make sure this directory exists and all files in this directory have read permissions.
vtune: Warning: Cannot read load addresses of sections from `/sys/module/drm/sections'. This may affect the correctness of symbol resolution for `drm'. Make sure this directory exists and all files in this directory have read permissions.
vtune: Warning: Cannot read load addresses of sections from `/sys/module/iwlwifi/sections'. This may affect the correctness of symbol resolution for `iwlwifi'. Make sure this directory exists and all files in this directory have read permissions.
vtune: Warning: Cannot read load addresses of sections from `/sys/module/i915/sections'. This may affect the correctness of symbol resolution for `i915'. Make sure this directory exists and all files in this directory have read permissions.
vtune: Warning: Function and source-level analysis for the Linux kernel will not be possible since neither debug version of the kernel nor kernel symbol tables are found. See the Enabling Linux Kernel Analysis topic in the product online help for instructions.
Report: Ok
HW event-based analysis with uncore events (Intel driver)
Example of analysis types: Memory Access
Collection: Ok
vtune: Warning: To enable hardware event-based sampling, VTune Profiler has disabled the NMI watchdog timer. The watchdog timer will be re-enabled after collection completes.
Finalization: Ok...
vtune: Warning: Cannot read load addresses of sections from `/sys/module/xt_conntrack/sections'. This may affect the correctness of symbol resolution for `xt_conntrack'. Make sure this directory exists and all files in this directory have read permissions.
vtune: Warning: Cannot read load addresses of sections from `/sys/module/nf_conntrack/sections'. This may affect the correctness of symbol resolution for `nf_conntrack'. Make sure this directory exists and all files in this directory have read permissions.
vtune: Warning: Cannot read load addresses of sections from `/sys/module/nft_compat/sections'. This may affect the correctness of symbol resolution for `nft_compat'. Make sure this directory exists and all files in this directory have read permissions.
vtune: Warning: Cannot read load addresses of sections from `/sys/module/iwlwifi/sections'. This may affect the correctness of symbol resolution for `iwlwifi'. Make sure this directory exists and all files in this directory have read permissions.
vtune: Warning: Cannot read load addresses of sections from `/sys/module/drm/sections'. This may affect the correctness of symbol resolution for `drm'. Make sure this directory exists and all files in this directory have read permissions.
vtune: Warning: Cannot read load addresses of sections from `/sys/module/nvme/sections'. This may affect the correctness of symbol resolution for `nvme'. Make sure this directory exists and all files in this directory have read permissions.
vtune: Warning: Cannot read load addresses of sections from `/sys/module/kvm/sections'. This may affect the correctness of symbol resolution for `kvm'. Make sure this directory exists and all files in this directory have read permissions.
vtune: Warning: Cannot read load addresses of sections from `/sys/module/i915/sections'. This may affect the correctness of symbol resolution for `i915'. Make sure this directory exists and all files in this directory have read permissions.
vtune: Warning: Cannot read load addresses of sections from `/sys/module/mac80211/sections'. This may affect the correctness of symbol resolution for `mac80211'. Make sure this directory exists and all files in this directory have read permissions.
vtune: Warning: Function and source-level analysis for the Linux kernel will not be possible since neither debug version of the kernel nor kernel symbol tables are found. See the Enabling Linux Kernel Analysis topic in the product online help for instructions.
Report: Ok
HW event-based analysis with stacks (Intel driver)
Example of analysis types: Hotspots with HW event-based sampling and call stacks
Collection: Ok
vtune: Warning: To enable hardware event-based sampling, VTune Profiler has disabled the NMI watchdog timer. The watchdog timer will be re-enabled after collection completes.
Finalization: Ok...
vtune: Warning: Cannot read load addresses of sections from `/sys/module/e1000e/sections'. This may affect the correctness of symbol resolution for `e1000e'. Make sure this directory exists and all files in this directory have read permissions.
vtune: Warning: Cannot read load addresses of sections from `/sys/module/iwlwifi/sections'. This may affect the correctness of symbol resolution for `iwlwifi'. Make sure this directory exists and all files in this directory have read permissions.
vtune: Warning: Cannot read load addresses of sections from `/sys/module/drm/sections'. This may affect the correctness of symbol resolution for `drm'. Make sure this directory exists and all files in this directory have read permissions.
vtune: Warning: Cannot read load addresses of sections from `/sys/module/nf_conntrack/sections'. This may affect the correctness of symbol resolution for `nf_conntrack'. Make sure this directory exists and all files in this directory have read permissions.
vtune: Warning: Cannot read load addresses of sections from `/sys/module/nvme/sections'. This may affect the correctness of symbol resolution for `nvme'. Make sure this directory exists and all files in this directory have read permissions.
vtune: Warning: Cannot read load addresses of sections from `/sys/module/kvm/sections'. This may affect the correctness of symbol resolution for `kvm'. Make sure this directory exists and all files in this directory have read permissions.
vtune: Warning: Cannot read load addresses of sections from `/sys/module/i915/sections'. This may affect the correctness of symbol resolution for `i915'. Make sure this directory exists and all files in this directory have read permissions.
vtune: Warning: Function and source-level analysis for the Linux kernel will not be possible since neither debug version of the kernel nor kernel symbol tables are found. See the Enabling Linux Kernel Analysis topic in the product online help for instructions.
Report: Ok
HW event-based analysis with context switches (Intel driver)
Example of analysis types: Threading with HW event-based sampling
Collection: Ok
vtune: Warning: To enable hardware event-based sampling, VTune Profiler has disabled the NMI watchdog timer. The watchdog timer will be re-enabled after collection completes.
Finalization: Ok...
vtune: Warning: Cannot read load addresses of sections from `/sys/module/nf_tables/sections'. This may affect the correctness of symbol resolution for `nf_tables'. Make sure this directory exists and all files in this directory have read permissions.
vtune: Warning: Cannot read load addresses of sections from `/sys/module/nf_conntrack/sections'. This may affect the correctness of symbol resolution for `nf_conntrack'. Make sure this directory exists and all files in this directory have read permissions.
vtune: Warning: Cannot read load addresses of sections from `/sys/module/iwlwifi/sections'. This may affect the correctness of symbol resolution for `iwlwifi'. Make sure this directory exists and all files in this directory have read permissions.
vtune: Warning: Cannot read load addresses of sections from `/sys/module/kvm/sections'. This may affect the correctness of symbol resolution for `kvm'. Make sure this directory exists and all files in this directory have read permissions.
vtune: Warning: Cannot read load addresses of sections from `/sys/module/nvme/sections'. This may affect the correctness of symbol resolution for `nvme'. Make sure this directory exists and all files in this directory have read permissions.
vtune: Warning: Cannot read load addresses of sections from `/sys/module/i915/sections'. This may affect the correctness of symbol resolution for `i915'. Make sure this directory exists and all files in this directory have read permissions.
vtune: Warning: Function and source-level analysis for the Linux kernel will not be possible since neither debug version of the kernel nor kernel symbol tables are found. See the Enabling Linux Kernel Analysis topic in the product online help for instructions.
Report: Ok
Checking DPC++ application as prerequisite for GPU analyses: Fail
Unable to run DPC++ application on GPU connected to this system. If you are using an Intel GPU and want to verify profiling support for DPC++ applications, check these requirements:
* Install Intel(R) GPU driver.
* Install Intel(R) Level Zero GPU runtime.
* Install Intel(R) oneAPI DPC++ Runtime and set the environment.
The system is ready to be used for performance analysis with Intel VTune Profiler.
Review warnings in the output above to find product limitations, if any.
The system is ready for the following analyses:
* Performance Snapshot
* Hotspots and Threading with user-mode sampling
* Hotspots with HW event-based sampling, HPC Performance Characterization, etc.
* Microarchitecture Exploration
* Memory Access
* Hotspots with HW event-based sampling and call stacks
* Threading with HW event-based sampling
The following analyses have failed on the system:
* GPU Compute/Media Hotspots (characterization mode)
* GPU Compute/Media Hotspots (source analysis mode)
Log location: /tmp/vtune-tmp-foo/self-checker-2023.02.07_12.16.31/log.txt
foo@bar:~/temp$ icpx -fsycl /opt/intel/oneapi/dnnl/2023.0.0/cpu_dpcpp_gpu_dpcpp/examples/matmul.cpp -o matmul
/usr/bin/ld: /tmp/icpx-deab96/matmul-7dac19.o: in function `validate_engine_kind(dnnl::engine::kind)':
matmul-c3611e.cpp:(.text+0xe): undefined reference to `dnnl_engine_get_count'
/usr/bin/ld: /tmp/icpx-deab96/matmul-7dac19.o: in function `matmul_example(dnnl::engine::kind)':
matmul-c3611e.cpp:(.text+0x69): undefined reference to `dnnl_engine_create'
/usr/bin/ld: matmul-c3611e.cpp:(.text+0xc56): undefined reference to `dnnl_post_ops_create'
/usr/bin/ld: matmul-c3611e.cpp:(.text+0xcc2): undefined reference to `dnnl_post_ops_append_eltwise'
/usr/bin/ld: matmul-c3611e.cpp:(.text+0xce4): undefined reference to `dnnl_primitive_attr_create'
/usr/bin/ld: matmul-c3611e.cpp:(.text+0xd7b): undefined reference to `dnnl_primitive_attr_set_post_ops'
/usr/bin/ld: matmul-c3611e.cpp:(.text+0xe75): undefined reference to `dnnl_matmul_primitive_desc_create'
/usr/bin/ld: matmul-c3611e.cpp:(.text+0xf43): undefined reference to `dnnl_primitive_create'
/usr/bin/ld: matmul-c3611e.cpp:(.text+0x1485): undefined reference to `dnnl_primitive_execute'
/usr/bin/ld: matmul-c3611e.cpp:(.text+0x14b2): undefined reference to `dnnl_stream_wait'
/usr/bin/ld: matmul-c3611e.cpp:(.text+0x14fc): undefined reference to `dnnl_memory_desc_get_size'
/usr/bin/ld: matmul-c3611e.cpp:(.text+0x1620): undefined reference to `dnnl_sycl_interop_memory_get_memory_kind'
/usr/bin/ld: matmul-c3611e.cpp:(.text+0x1808): undefined reference to `dnnl_sycl_interop_stream_get_queue'
/usr/bin/ld: matmul-c3611e.cpp:(.text+0x2f48): undefined reference to `dnnl_primitive_destroy'
/usr/bin/ld: matmul-c3611e.cpp:(.text+0x2f7a): undefined reference to `dnnl_primitive_desc_destroy'
/usr/bin/ld: matmul-c3611e.cpp:(.text+0x2fa4): undefined reference to `dnnl_primitive_attr_destroy'
/usr/bin/ld: matmul-c3611e.cpp:(.text+0x2fce): undefined reference to `dnnl_post_ops_destroy'
/usr/bin/ld: /tmp/icpx-deab96/matmul-7dac19.o: in function `main':
matmul-c3611e.cpp:(.text+0x3568): undefined reference to `dnnl_engine_get_count'
/usr/bin/ld: matmul-c3611e.cpp:(.text+0x3832): undefined reference to `dnnl_status2str'
/usr/bin/ld: /tmp/icpx-deab96/matmul-7dac19.o: in function `dnnl::stream::stream(dnnl::engine const&, dnnl::stream::flags)':
matmul-c3611e.cpp:(.text._ZN4dnnl6streamC2ERKNS_6engineENS0_5flagsE[_ZN4dnnl6streamC2ERKNS_6engineENS0_5flagsE]+0x1d): undefined reference to `dnnl_stream_create'
/usr/bin/ld: matmul-c3611e.cpp:(.text._ZN4dnnl6streamC2ERKNS_6engineENS0_5flagsE[_ZN4dnnl6streamC2ERKNS_6engineENS0_5flagsE]+0x125): undefined reference to `dnnl_stream_destroy'
/usr/bin/ld: /tmp/icpx-deab96/matmul-7dac19.o: in function `dnnl::memory::desc::desc(std::vector<long, std::allocator<long> > const&, dnnl::memory::data_type, dnnl::memory::format_tag, bool)':
matmul-c3611e.cpp:(.text._ZN4dnnl6memory4descC2ERKSt6vectorIlSaIlEENS0_9data_typeENS0_10format_tagEb[_ZN4dnnl6memory4descC2ERKSt6vectorIlSaIlEENS0_9data_typeENS0_10format_tagEb]+0x3b): undefined reference to `dnnl_memory_desc_create_with_tag'
/usr/bin/ld: /tmp/icpx-deab96/matmul-7dac19.o: in function `dnnl::memory::memory(dnnl::memory::desc const&, dnnl::engine const&)':
matmul-c3611e.cpp:(.text._ZN4dnnl6memoryC2ERKNS0_4descERKNS_6engineE[_ZN4dnnl6memoryC2ERKNS0_4descERKNS_6engineE]+0x37): undefined reference to `dnnl_memory_create'
/usr/bin/ld: matmul-c3611e.cpp:(.text._ZN4dnnl6memoryC2ERKNS0_4descERKNS_6engineE[_ZN4dnnl6memoryC2ERKNS0_4descERKNS_6engineE]+0x142): undefined reference to `dnnl_memory_destroy'
/usr/bin/ld: /tmp/icpx-deab96/matmul-7dac19.o: in function `write_to_dnnl_memory(void*, dnnl::memory&)':
matmul-c3611e.cpp:(.text._Z20write_to_dnnl_memoryPvRN4dnnl6memoryE[_Z20write_to_dnnl_memoryPvRN4dnnl6memoryE]+0x46): undefined reference to `dnnl_memory_desc_get_size'
/usr/bin/ld: matmul-c3611e.cpp:(.text._Z20write_to_dnnl_memoryPvRN4dnnl6memoryE[_Z20write_to_dnnl_memoryPvRN4dnnl6memoryE]+0x16a): undefined reference to `dnnl_sycl_interop_memory_get_memory_kind'
/usr/bin/ld: matmul-c3611e.cpp:(.text._Z20write_to_dnnl_memoryPvRN4dnnl6memoryE[_Z20write_to_dnnl_memoryPvRN4dnnl6memoryE]+0x341): undefined reference to `dnnl_sycl_interop_stream_get_queue'
/usr/bin/ld: /tmp/icpx-deab96/matmul-7dac19.o: in function `dnnl::handle_traits<dnnl_engine*>::destructor(dnnl_engine*)':
matmul-c3611e.cpp:(.text._ZN4dnnl13handle_traitsIP11dnnl_engineE10destructorES2_[_ZN4dnnl13handle_traitsIP11dnnl_engineE10destructorES2_]+0x1): undefined reference to `dnnl_engine_destroy'
/usr/bin/ld: /tmp/icpx-deab96/matmul-7dac19.o: in function `dnnl::handle_traits<dnnl_stream*>::destructor(dnnl_stream*)':
matmul-c3611e.cpp:(.text._ZN4dnnl13handle_traitsIP11dnnl_streamE10destructorES2_[_ZN4dnnl13handle_traitsIP11dnnl_streamE10destructorES2_]+0x1): undefined reference to `dnnl_stream_destroy'
/usr/bin/ld: /tmp/icpx-deab96/matmul-7dac19.o: in function `dnnl::handle_traits<dnnl_memory_desc*>::destructor(dnnl_memory_desc*)':
matmul-c3611e.cpp:(.text._ZN4dnnl13handle_traitsIP16dnnl_memory_descE10destructorES2_[_ZN4dnnl13handle_traitsIP16dnnl_memory_descE10destructorES2_]+0x1): undefined reference to `dnnl_memory_desc_destroy'
/usr/bin/ld: /tmp/icpx-deab96/matmul-7dac19.o: in function `dnnl::handle_traits<dnnl_memory*>::destructor(dnnl_memory*)':
matmul-c3611e.cpp:(.text._ZN4dnnl13handle_traitsIP11dnnl_memoryE10destructorES2_[_ZN4dnnl13handle_traitsIP11dnnl_memoryE10destructorES2_]+0x1): undefined reference to `dnnl_memory_destroy'
/usr/bin/ld: /tmp/icpx-deab96/matmul-7dac19.o: in function `dnnl::memory::get_engine() const':
matmul-c3611e.cpp:(.text._ZNK4dnnl6memory10get_engineEv[_ZNK4dnnl6memory10get_engineEv]+0x19): undefined reference to `dnnl_memory_get_engine'
/usr/bin/ld: /tmp/icpx-deab96/matmul-7dac19.o: in function `dnnl::memory::get_desc() const':
matmul-c3611e.cpp:(.text._ZNK4dnnl6memory8get_descEv[_ZNK4dnnl6memory8get_descEv]+0x19): undefined reference to `dnnl_memory_get_memory_desc'
/usr/bin/ld: matmul-c3611e.cpp:(.text._ZNK4dnnl6memory8get_descEv[_ZNK4dnnl6memory8get_descEv]+0x32): undefined reference to `dnnl_memory_desc_clone'
/usr/bin/ld: /tmp/icpx-deab96/matmul-7dac19.o: in function `dnnl::engine::get_kind() const':
matmul-c3611e.cpp:(.text._ZNK4dnnl6engine8get_kindEv[_ZNK4dnnl6engine8get_kindEv]+0x13): undefined reference to `dnnl_engine_get_kind'
/usr/bin/ld: /tmp/icpx-deab96/matmul-7dac19.o: in function `sycl::_V1::buffer<unsigned char, 1, sycl::_V1::detail::aligned_allocator<std::remove_const<unsigned char>::type>, std::enable_if<(((1)>(0)))&&((1)<=(3)), void>::type> dnnl::sycl_interop::get_buffer<unsigned char, 1>(dnnl::memory const&)':
matmul-c3611e.cpp:(.text._ZN4dnnl12sycl_interop10get_bufferIhLi1EEEN4sycl3_V16bufferIT_XT0_ENS3_6detail17aligned_allocatorINSt12remove_constIS5_E4typeEEENSt9enable_ifIXaagtT0_Li0EleT0_Li3EEvE4typeEEERKNS_6memoryE[_ZN4dnnl12sycl_interop10get_bufferIhLi1EEEN4sycl3_V16bufferIT_XT0_ENS3_6detail17aligned_allocatorINSt12remove_constIS5_E4typeEEENSt9enable_ifIXaagtT0_Li0EleT0_Li3EEvE4typeEEERKNS_6memoryE]+0x22): undefined reference to `dnnl_sycl_interop_memory_get_memory_kind'
/usr/bin/ld: matmul-c3611e.cpp:(.text._ZN4dnnl12sycl_interop10get_bufferIhLi1EEEN4sycl3_V16bufferIT_XT0_ENS3_6detail17aligned_allocatorINSt12remove_constIS5_E4typeEEENSt9enable_ifIXaagtT0_Li0EleT0_Li3EEvE4typeEEERKNS_6memoryE[_ZN4dnnl12sycl_interop10get_bufferIhLi1EEEN4sycl3_V16bufferIT_XT0_ENS3_6detail17aligned_allocatorINSt12remove_constIS5_E4typeEEENSt9enable_ifIXaagtT0_Li0EleT0_Li3EEvE4typeEEERKNS_6memoryE]+0x40): undefined reference to `dnnl_memory_get_data_handle'
/usr/bin/ld: /tmp/icpx-deab96/matmul-7dac19.o: in function `dnnl::memory::get_data_handle() const':
matmul-c3611e.cpp:(.text._ZNK4dnnl6memory15get_data_handleEv[_ZNK4dnnl6memory15get_data_handleEv]+0x13): undefined reference to `dnnl_memory_get_data_handle'
/usr/bin/ld: /tmp/icpx-deab96/matmul-7dac19.o: in function `dnnl::handle_traits<dnnl_post_ops*>::destructor(dnnl_post_ops*)':
matmul-c3611e.cpp:(.text._ZN4dnnl13handle_traitsIP13dnnl_post_opsE10destructorES2_[_ZN4dnnl13handle_traitsIP13dnnl_post_opsE10destructorES2_]+0x1): undefined reference to `dnnl_post_ops_destroy'
/usr/bin/ld: /tmp/icpx-deab96/matmul-7dac19.o: in function `dnnl::handle_traits<dnnl_primitive_attr*>::destructor(dnnl_primitive_attr*)':
matmul-c3611e.cpp:(.text._ZN4dnnl13handle_traitsIP19dnnl_primitive_attrE10destructorES2_[_ZN4dnnl13handle_traitsIP19dnnl_primitive_attrE10destructorES2_]+0x1): undefined reference to `dnnl_primitive_attr_destroy'
/usr/bin/ld: /tmp/icpx-deab96/matmul-7dac19.o: in function `dnnl::handle_traits<dnnl_primitive_desc*>::destructor(dnnl_primitive_desc*)':
matmul-c3611e.cpp:(.text._ZN4dnnl13handle_traitsIP19dnnl_primitive_descE10destructorES2_[_ZN4dnnl13handle_traitsIP19dnnl_primitive_descE10destructorES2_]+0x1): undefined reference to `dnnl_primitive_desc_destroy'
/usr/bin/ld: /tmp/icpx-deab96/matmul-7dac19.o: in function `dnnl::handle_traits<dnnl_primitive*>::destructor(dnnl_primitive*)':
matmul-c3611e.cpp:(.text._ZN4dnnl13handle_traitsIP14dnnl_primitiveE10destructorES2_[_ZN4dnnl13handle_traitsIP14dnnl_primitiveE10destructorES2_]+0x1): undefined reference to `dnnl_primitive_destroy'
icpx: error: linker command failed with exit code 1 (use -v to see invocation)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
We apologize for the delay.
Could you please try the below steps to create the executable
cd /opt/intel/oneapi/dnnl/2023.0.0/cpu_dpcpp_gpu_dpcpp/examples
mkdir build
cd build
cmake -DCMAKE_CXX_COMPILER="dpcpp" -DCMAKE_C_COMPILER="icx" ..
make
This will create the binary "matmul-cpp" in the build folder.
Please see the below screenshot for reference:
If you face any issue, please let us know.
For you information, the self-checker script will work only for cpu analysis. If the code is designed to run on GPU, Intel VTune Profiler will collect data even if it shows as failed in the self-checker script.
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you Athira,
The first attempt to cmake resulted in a slew of permission denied errors.
foo@bar:/opt/intel/oneapi/dnnl/2023.0.0/cpu_dpcpp_gpu_dpcpp/examples/build$ cmake -DCMAKE_CXX_COMPILER="dpcpp" -DCMAKE_C_COMPILER="icx" ..
CMake Error at /opt/cmake/share/cmake-3.23/Modules/CMakeDetermineCompilerId.cmake:312 (file):
file failed to open for writing (Permission denied):
This appeared to be because CMakeFiles was created with root ownership:
foo@bar:/opt/intel/oneapi/dnnl/2023.0.0/cpu_dpcpp_gpu_dpcpp/examples/build$ ls -l
total 20
-rw-rw-r-- 1 foo foo 13106 Feb 21 05:07 CMakeCache.txt
drwxr-xr-x 3 root root 4096 Feb 21 05:01 CMakeFiles
Changing ownership resolved these issues
chown -R foo:foo CMakeFiles/
The compilation succeeded after this change.
@AthiraM_Intel wrote:For you information, the self-checker script will work only for cpu analysis. If the code is designed to run on GPU, Intel VTune Profiler will collect data even if it shows as failed in the self-checker script.
Thank you for this (odd) insight, I will proceed with the VTune Profiler as is and hopefully see the GPU data that I seek.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Glad to know that your issue is resolved. Since your initial query is resolved, can we close this case?
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Since, your initial query is resolved, we won't be monitoring this thread further. If you need further assistance, please post a new question.
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have similler problem.
In my case, not with .cpp file but .so file
This is the error massage
(gst-plugin-scanner:53): GStreamer-WARNING **: 05:31:06.325: Failed to load plugin '/opt/intel/openvino/data_processing/dl_streamer/lib/libgpurenderer.so': /opt/intel/openvino/data_processing/dl_streamer/lib/libgpurenderer.so: undefined symbol: _ZTIN2cl4sycl9exceptionE
(gst-plugin-scanner:53): GStreamer-WARNING **: 05:31:06.330: Failed to load plugin '/opt/intel/openvino/data_processing/dl_streamer/lib/libvasot_gpu.so': /opt/intel/openvino/data_processing/dl_streamer/lib/libvasot_gpu.so: undefined symbol: _ZTIN2cl4sycl9exceptionE
How can I fix it ?
![](/skins/images/B7BA37F9CE4B52FF7CAE1FB0388839C8/responsive_peak/images/icon_anonymous_message.png)
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page