Intel® oneAPI Base Toolkit
Support for the core tools and libraries within the base toolkit that are used to build and deploy high-performance data-centric applications.
419 Discussions

Link problem for oneMKL in parallel

LaurentPlagne
Novice
987 Views

Hi,

I use oneMKL (axpy) on a Gen9 GPU and it is OK when I link the sequential version:

set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lOpenCL -lsycl -lmkl_sycl -lmkl_core -lmkl_sequential -lmkl_intel_lp64 ")

but it fails to link with the parallel version (I try to follow https://software.intel.com/content/www/us/en/develop/documentation/get-started-with-mkl-for-dpcpp/top.html#top_GUID-743B93DD-EF64-40E1-A597-C156522DB4AC):

set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lmkl_sycl -lmkl_intel_lp64 -lOpenCL -lmkl_tbb_thread -lmkl_core -lsycl -lOpenCL -ltbb -lpthread -ldl -lm")

/usr/bin/ld : /opt/intel/oneapi/mkl/2021.1-beta08/lib/intel64/libmkl_tbb_thread.so : référence indéfinie vers « tbb::detail::r1::wait_bounded_queue_monitor(tbb::detail::r1::concurrent_monitor*, unsigned long, long, tbb::detail::d1::delegate_base&) »
/usr/bin/ld : /opt/intel/oneapi/mkl/2021.1-beta08/lib/intel64/libmkl_tbb_thread.so : référence indéfinie vers « tbb::detail::r1::execute_and_wait(tbb::detail::d1::task&, tbb::detail::d1::task_group_context&, tbb::detail::d1::wait_context&, tbb::detail::d1::task_group_context&) »
/usr/bin/ld : /opt/intel/oneapi/mkl/2021.1-beta08/lib/intel64/libmkl_tbb_thread.so : référence indéfinie vers « tbb::detail::r1::cache_aligned_deallocate(void*) »
/usr/bin/ld : /opt/intel/oneapi/mkl/2021.1-beta08/lib/intel64/libmkl_tbb_thread.so : référence indéfinie vers « tbb::detail::r1::terminate(tbb::detail::d1::task_arena_base&) »
/usr/bin/ld : /opt/intel/oneapi/mkl/2021.1-beta08/lib/intel64/libmkl_tbb_thread.so : référence indéfinie vers « tbb::detail::r1::allocate_bounded_queue_rep(unsigned long) »
/usr/bin/ld : /opt/intel/oneapi/mkl/2021.1-beta08/lib/intel64/libmkl_tbb_thread.so : référence indéfinie vers « tbb::detail::r1::call_itt_notify(int, void*) »
/usr/bin/ld : /opt/intel/oneapi/mkl/2021.1-beta08/lib/intel64/libmkl_tbb_thread.so : référence indéfinie vers « tbb::detail::r1::deallocate(tbb::detail::d1::small_object_pool&, void*, unsigned long, tbb::detail::d1::execution_data const&) »
/usr/bin/ld : /opt/intel/oneapi/mkl/2021.1-beta08/lib/intel64/libmkl_tbb_thread.so : référence indéfinie vers « tbb::detail::r1::deallocate_bounded_queue_rep(unsigned char*, unsigned long) »
/usr/bin/ld : /opt/intel/oneapi/mkl/2021.1-beta08/lib/intel64/libmkl_tbb_thread.so : référence indéfinie vers « tbb::detail::r1::execution_slot(tbb::detail::d1::execution_data const*) »
/usr/bin/ld : /opt/intel/oneapi/mkl/2021.1-beta08/lib/intel64/libmkl_tbb_thread.so : référence indéfinie vers « tbb::detail::r1::max_concurrency(tbb::detail::d1::task_arena_base const*) »
/usr/bin/ld : /opt/intel/oneapi/mkl/2021.1-beta08/lib/intel64/libmkl_tbb_thread.so : référence indéfinie vers « tbb::detail::r1::allocate(tbb::detail::d1::small_object_pool*&, unsigned long) »
/usr/bin/ld : /opt/intel/oneapi/mkl/2021.1-beta08/lib/intel64/libmkl_tbb_thread.so : référence indéfinie vers « tbb::detail::r1::throw_exception(tbb::detail::d0::exception_id) »
/usr/bin/ld : /opt/intel/oneapi/mkl/2021.1-beta08/lib/intel64/libmkl_tbb_thread.so : référence indéfinie vers « tbb::detail::r1::create_itt_sync(void*, char const*, char const*) »
/usr/bin/ld : /opt/intel/oneapi/mkl/2021.1-beta08/lib/intel64/libmkl_tbb_thread.so : référence indéfinie vers « tbb::detail::r1::spawn(tbb::detail::d1::task&, tbb::detail::d1::task_group_context&, unsigned short) »
/usr/bin/ld : /opt/intel/oneapi/mkl/2021.1-beta08/lib/intel64/libmkl_tbb_thread.so : référence indéfinie vers « tbb::detail::r1::execute(tbb::detail::d1::task_arena_base&, tbb::detail::d1::delegate_base&) »
/usr/bin/ld : /opt/intel/oneapi/mkl/2021.1-beta08/lib/intel64/libmkl_tbb_thread.so : référence indéfinie vers « tbb::detail::r1::cancel_group_execution(tbb::detail::d1::task_group_context&) »
/usr/bin/ld : /opt/intel/oneapi/mkl/2021.1-beta08/lib/intel64/libmkl_tbb_thread.so : référence indéfinie vers « tbb::detail::r1::spawn(tbb::detail::d1::task&, tbb::detail::d1::task_group_context&) »
/usr/bin/ld : /opt/intel/oneapi/mkl/2021.1-beta08/lib/intel64/libmkl_tbb_thread.so : référence indéfinie vers « tbb::detail::r1::reset(tbb::detail::d1::task_group_context&) »
/usr/bin/ld : /opt/intel/oneapi/mkl/2021.1-beta08/lib/intel64/libmkl_tbb_thread.so : référence indéfinie vers « tbb::detail::r1::cache_aligned_allocate(unsigned long) »
/usr/bin/ld : /opt/intel/oneapi/mkl/2021.1-beta08/lib/intel64/libmkl_tbb_thread.so : référence indéfinie vers « tbb::detail::r1::allocate_memory(unsigned long) »
/usr/bin/ld : /opt/intel/oneapi/mkl/2021.1-beta08/lib/intel64/libmkl_tbb_thread.so : référence indéfinie vers « tbb::detail::r1::is_group_execution_cancelled(tbb::detail::d1::task_group_context&) »
/usr/bin/ld : /opt/intel/oneapi/mkl/2021.1-beta08/lib/intel64/libmkl_tbb_thread.so : référence indéfinie vers « tbb::detail::r1::assertion_failure(char const*, int, char const*, char const*) »
/usr/bin/ld : /opt/intel/oneapi/mkl/2021.1-beta08/lib/intel64/libmkl_tbb_thread.so : référence indéfinie vers « tbb::detail::r1::wait(tbb::detail::d1::wait_context&, tbb::detail::d1::task_group_context&) »
/usr/bin/ld : /opt/intel/oneapi/mkl/2021.1-beta08/lib/intel64/libmkl_tbb_thread.so : référence indéfinie vers « tbb::detail::r1::destroy(tbb::detail::d1::task_group_context&) »
/usr/bin/ld : /opt/intel/oneapi/mkl/2021.1-beta08/lib/intel64/libmkl_tbb_thread.so : référence indéfinie vers « tbb::detail::r1::resume(tbb::detail::r1::suspend_point_type*) »
/usr/bin/ld : /opt/intel/oneapi/mkl/2021.1-beta08/lib/intel64/libmkl_tbb_thread.so : référence indéfinie vers « tbb::detail::r1::itt_region_end(tbb::detail::d1::itt_domain_enum, void*, unsigned long long) »
/usr/bin/ld : /opt/intel/oneapi/mkl/2021.1-beta08/lib/intel64/libmkl_tbb_thread.so : référence indéfinie vers « tbb::detail::r1::initialize(tbb::detail::d1::task_arena_base&) »
/usr/bin/ld : /opt/intel/oneapi/mkl/2021.1-beta08/lib/intel64/libmkl_tbb_thread.so : référence indéfinie vers « tbb::detail::r1::allocate(tbb::detail::d1::small_object_pool*&, unsigned long, tbb::detail::d1::execution_data const&) »
/usr/bin/ld : /opt/intel/oneapi/mkl/2021.1-beta08/lib/intel64/libmkl_tbb_thread.so : référence indéfinie vers « tbb::detail::r1::initialize(tbb::detail::d1::task_group_context&) »
/usr/bin/ld : /opt/intel/oneapi/mkl/2021.1-beta08/lib/intel64/libmkl_tbb_thread.so : référence indéfinie vers « tbb::detail::r1::notify_bounded_queue_monitor(tbb::detail::r1::concurrent_monitor*, unsigned long, unsigned long) »
/usr/bin/ld : /opt/intel/oneapi/mkl/2021.1-beta08/lib/intel64/libmkl_tbb_thread.so : référence indéfinie vers « tbb::detail::r1::itt_region_begin(tbb::detail::d1::itt_domain_enum, void*, unsigned long long, void*, unsigned long long, tbb::detail::d0::string_resource_index) »
/usr/bin/ld : /opt/intel/oneapi/mkl/2021.1-beta08/lib/intel64/libmkl_tbb_thread.so : référence indéfinie vers « tbb::detail::r1::deallocate_memory(void*) »

 

0 Kudos
1 Reply
Ruqiu_C_Intel
Moderator
822 Views

This thread was addressed in page: https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Link-issue-for-parallel-oneMKL/m-p/1202391

 

We will no longer respond to this thread. If you require additional assistance from Intel, please start a new thread. Any further interaction in this thread will be considered community only.  Thanks

0 Kudos
Reply