Analyzers
Talk to fellow users of Intel Analyzer tools (Intel VTune™ Profiler, Intel Advisor)
4995 Discussions

error while loading shared libraries: libsycl.so.5

nhoj
Beginner
3,774 Views

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.

0 Kudos
12 Replies
Soumya_M_Intel
Moderator
3,750 Views

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


0 Kudos
AthiraM_Intel
Moderator
3,708 Views

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:

AthiraM_Intel_0-1673611259357.png

 

If you have any further issue, please let us know.

 

 

Thanks

 

0 Kudos
nhoj
Beginner
3,613 Views

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?

0 Kudos
AthiraM_Intel
Moderator
3,640 Views

Hi,


We have not heard back from you. Could you please give us an update? Is your issue resolved?



Thanks


0 Kudos
AthiraM_Intel
Moderator
3,533 Views

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






0 Kudos
AthiraM_Intel
Moderator
3,435 Views

Hi,


We have not heard back from you. Could you please give us an update?



Thanks


0 Kudos
nhoj
Beginner
3,420 Views

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)

 

0 Kudos
AthiraM_Intel
Moderator
3,312 Views

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:

AthiraM_Intel_0-1676895428727.png

 

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

 

 

0 Kudos
nhoj
Beginner
3,243 Views

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. 

0 Kudos
AthiraM_Intel
Moderator
3,185 Views

Hi,


Glad to know that your issue is resolved. Since your initial query is resolved, can we close this case?



Thanks


0 Kudos
AthiraM_Intel
Moderator
3,106 Views

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

 

 

 

0 Kudos
Siyoung
New Contributor I
2,232 Views

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 ?

0 Kudos
Reply