CHIP-SPV / chipStar

chipStar is a tool for compiling and running HIP/CUDA on SPIR-V via OpenCL or Level Zero APIs.
Other
185 stars 30 forks source link

HIP-SYCL Interop Failures #640

Closed pvelesko closed 11 months ago

pvelesko commented 11 months ago

Segfaults after latest runtime update

Sarbojit2019 commented 11 months ago

@pvelesko, Can you share the debug log? I tried to use the latest setup but can't see any crash.

pvelesko commented 11 months ago

I've narrowed down the issue and it's interesting. For some reason, when running hip_sycl_interop example on the Level Zero backed, if I don't have my OCL_ICD_VENDORS=/home/pvelesko/install/intel/opencl/2023.10.02/intel.icd set, it will segfault.

#0  0x0000000000000000 in ?? ()
#1  0x00007f284345891c in zeMemGetAllocProperties () from /opt/install/level-zero/lib/libze_loader.so.1
#2  0x00007f2814ed810b in USMFreeHelper(_pi_context*, void*, bool) () from /opt/intel/oneapi/compiler/2023.2.0/linux/lib/libpi_level_zero.so
#3  0x00007f2814ec5817 in _pi_buffer::free() () from /opt/intel/oneapi/compiler/2023.2.0/linux/lib/libpi_level_zero.so
#4  0x00007f2814ec5570 in piMemRelease () from /opt/intel/oneapi/compiler/2023.2.0/linux/lib/libpi_level_zero.so
#5  0x00007f2843900d96 in _pi_result sycl::_V1::detail::plugin::call_nocheck<(sycl::_V1::detail::PiApiKind)34, _pi_mem*>(_pi_mem*) const () from /opt/intel/oneapi/compiler/latest/linux/lib/libsycl.so.6
#6  0x00007f28438f8261 in sycl::_V1::detail::memReleaseHelper(sycl::_V1::detail::plugin const&, _pi_mem*) () from /opt/intel/oneapi/compiler/latest/linux/lib/libsycl.so.6
#7  0x00007f28439ada3e in sycl::_V1::detail::SYCLMemObjT::releaseMem(std::shared_ptr<sycl::_V1::detail::context_impl>, void*) () from /opt/intel/oneapi/compiler/latest/linux/lib/libsycl.so.6
#8  0x00007f28438f8808 in sycl::_V1::detail::MemoryManager::release(std::shared_ptr<sycl::_V1::detail::context_impl>, sycl::_V1::detail::SYCLMemObjI*, void*, std::vector<std::shared_ptr<sycl::_V1::detail::event_impl>, std::allocator<std::shared_ptr<sycl::_V1::detail::event_impl> > >, _pi_event*&) () from /opt/intel/oneapi/compiler/latest/linux/lib/libsycl.so.6
#9  0x00007f2843976bb2 in sycl::_V1::detail::ReleaseCommand::enqueueImp() () from /opt/intel/oneapi/compiler/latest/linux/lib/libsycl.so.6
#10 0x00007f28439722d7 in sycl::_V1::detail::Command::enqueue(sycl::_V1::detail::EnqueueResultT&, sycl::_V1::detail::BlockingT, std::vector<sycl::_V1::detail::Command*, std::allocator<sycl::_V1::detail::Command*> >&) ()
   from /opt/intel/oneapi/compiler/latest/linux/lib/libsycl.so.6
#11 0x00007f284399cdc9 in sycl::_V1::detail::Scheduler::GraphProcessor::enqueueCommand(sycl::_V1::detail::Command*, std::shared_lock<std::shared_timed_mutex>&, sycl::_V1::detail::EnqueueResultT&, std::vector<sycl::_V1::detail::Command*, std::allocator<sycl::_V1::detail::Command*> >&, sycl::_V1::detail::Command*, sycl::_V1::detail::BlockingT) () from /opt/intel/oneapi/compiler/latest/linux/lib/libsycl.so.6
#12 0x00007f28439950f8 in sycl::_V1::detail::Scheduler::waitForRecordToFinish(sycl::_V1::detail::MemObjRecord*, std::shared_lock<std::shared_timed_mutex>&) () from /opt/intel/oneapi/compiler/latest/linux/lib/libsycl.so.6
#13 0x00007f28439974db in sycl::_V1::detail::Scheduler::removeMemoryObject(sycl::_V1::detail::SYCLMemObjI*, bool) () from /opt/intel/oneapi/compiler/latest/linux/lib/libsycl.so.6
#14 0x00007f284399a639 in sycl::_V1::detail::Scheduler::cleanupDeferredMemObjects(sycl::_V1::detail::BlockingT) () from /opt/intel/oneapi/compiler/latest/linux/lib/libsycl.so.6
#15 0x00007f28439ae08c in sycl::_V1::detail::SYCLMemObjT::detachMemoryObject(std::shared_ptr<sycl::_V1::detail::SYCLMemObjT> const&) const () from /opt/intel/oneapi/compiler/latest/linux/lib/libsycl.so.6
#16 0x00007f28439bb449 in sycl::_V1::detail::buffer_plain::handleRelease() const () from /opt/intel/oneapi/compiler/latest/linux/lib/libsycl.so.6
#17 0x00007f28250a4870 in std::unique_ptr<sycl::_V1::buffer<char, 1, sycl::_V1::detail::aligned_allocator<char>, void>, std::default_delete<sycl::_V1::buffer<char, 1, sycl::_V1::detail::aligned_allocator<char>, void> > >::~unique_ptr() ()
   from /opt/intel/oneapi/mkl/2023.2.0/lib/intel64/libmkl_sycl.so.3
#18 0x00007f2819aa3a56 in __cxa_finalize () from /usr/lib/x86_64-linux-gnu/libc.so.6
#19 0x00007f2824169ec3 in __do_global_dtors_aux () from /opt/intel/oneapi/mkl/2023.2.0/lib/intel64/libmkl_sycl.so.3
#20 0x00007ffc748b82f0 in ?? ()
pvelesko commented 11 months ago

Environment issue as stated above - unrelated to chipStar.