Skip to content

Bus error (core dumped) calling ipex.optimize on Arc A770 #274

Open
@edward-io

Description

@edward-io

The test example code given fails when attempting to call ipex.optimize. The code works when commenting out this line:

import torch
import torchvision.models as models
import intel_extension_for_pytorch as ipex

model = models.resnet50(pretrained=True)
model.eval()
data = torch.rand(1, 3, 224, 224)

model = model.to('xpu')
data = data.to('xpu')
model = ipex.optimize(model)

out = model(data)
print(out.shape)

Error:

[1] 297018 bus error (core dumped) python f32_example.py

Environment:

  • Ubuntu 22.04
  • ipex.version == '1.10.200+gpu'
  • torch.version == '1.10.0a0+git3d5f2d4'
➜  ~ sycl-ls
[opencl:acc:0] Intel(R) FPGA Emulation Platform for OpenCL(TM), Intel(R) FPGA Emulation Device 1.2 [2022.14.10.0.20_160000.xmain-hotfix]
[opencl:cpu:1] Intel(R) OpenCL, AMD EPYC 7443P 24-Core Processor                3.0 [2022.14.10.0.20_160000.xmain-hotfix]
[opencl:gpu:2] Intel(R) OpenCL HD Graphics, Intel(R) Graphics [0x56a0] 3.0 [22.32.23937]
[ext_oneapi_level_zero:gpu:0] Intel(R) Level-Zero, Intel(R) Graphics [0x56a0] 1.3 [1.3.23937]
[host:host:0] SYCL host platform, SYCL host device 1.2 [1.2]

Partial gdb stacktrace:

Thread 1 "python" received signal SIGBUS, Bus error.
0x00007ffecd1a4070 in ?? () from /lib/x86_64-linux-gnu/libze_intel_gpu.so.1
(gdb) backtrace
#0  0x00007ffecd1a4070 in ?? () from /lib/x86_64-linux-gnu/libze_intel_gpu.so.1
#1  0x00007ffecd18c6bb in ?? () from /lib/x86_64-linux-gnu/libze_intel_gpu.so.1
#2  0x00007ffeccfd6406 in ?? () from /lib/x86_64-linux-gnu/libze_intel_gpu.so.1
#3  0x00007ffeccfd6d57 in ?? () from /lib/x86_64-linux-gnu/libze_intel_gpu.so.1
#4  0x00007ffeccfeb3c3 in ?? () from /lib/x86_64-linux-gnu/libze_intel_gpu.so.1
#5  0x00007ffeccff3c90 in ?? () from /lib/x86_64-linux-gnu/libze_intel_gpu.so.1
#6  0x00007fffdfa74dbb in _pi_context::getAvailableCommandList(_pi_queue*, std::__1::__hash_map_iterator<std::__1::__hash_iterator<std::__1::__hash_node<std::__1::__hash_value_type<_ze_command_list_handle
_t*, pi_command_list_info_t>, void*>*> >&, bool, bool) () from /opt/intel/oneapi/compiler/2022.2.1/linux/lib/libpi_level_zero.so
#7  0x00007fffdfa8bda7 in enqueueMemCopyHelper(_pi_command_type, _pi_queue*, void*, unsigned int, unsigned long, void const*, unsigned int, _pi_event* const*, _pi_event**, bool) ()
   from /opt/intel/oneapi/compiler/2022.2.1/linux/lib/libpi_level_zero.so
#8  0x00007fffdfa8cbab in piEnqueueMemBufferWrite () from /opt/intel/oneapi/compiler/2022.2.1/linux/lib/libpi_level_zero.so
#9  0x00007ffed151aedd in cl::sycl::detail::copyH2D(cl::sycl::detail::SYCLMemObjI*, char*, std::shared_ptr<cl::sycl::detail::queue_impl>, unsigned int, cl::sycl::range<3>, cl::sycl::range<3>, cl::sycl::id
<3>, unsigned int, _pi_mem*, std::shared_ptr<cl::sycl::detail::queue_impl>, unsigned int, cl::sycl::range<3>, cl::sycl::range<3>, cl::sycl::id<3>, unsigned int, std::vector<_pi_event*, std::allocator<_pi_
event*> >, _pi_event*&) () from /opt/intel/oneapi/compiler/2022.2.1/linux/lib/libsycl.so.5
#10 0x00007ffed151e1fc in cl::sycl::detail::MemoryManager::copy(cl::sycl::detail::SYCLMemObjI*, void*, std::shared_ptr<cl::sycl::detail::queue_impl>, unsigned int, cl::sycl::range<3>, cl::sycl::range<3>,
cl::sycl::id<3>, unsigned int, void*, std::shared_ptr<cl::sycl::detail::queue_impl>, unsigned int, cl::sycl::range<3>, cl::sycl::range<3>, cl::sycl::id<3>, unsigned int, std::vector<_pi_event*, std::alloc
ator<_pi_event*> >, _pi_event*&) () from /opt/intel/oneapi/compiler/2022.2.1/linux/lib/libsycl.so.5
#11 0x00007ffed1587e88 in cl::sycl::detail::MemCpyCommand::enqueueImp() () from /opt/intel/oneapi/compiler/2022.2.1/linux/lib/libsycl.so.5
#12 0x00007ffed157e521 in cl::sycl::detail::Command::enqueue(cl::sycl::detail::EnqueueResultT&, cl::sycl::detail::BlockingT, std::vector<cl::sycl::detail::Command*, std::allocator<cl::sycl::detail::Comman
d*> >&) () from /opt/intel/oneapi/compiler/2022.2.1/linux/lib/libsycl.so.5
#13 0x00007ffed15a6b94 in cl::sycl::detail::Scheduler::GraphProcessor::enqueueCommand(cl::sycl::detail::Command*, cl::sycl::detail::EnqueueResultT&, std::vector<cl::sycl::detail::Command*, std::allocator<
cl::sycl::detail::Command*> >&, cl::sycl::detail::BlockingT) () from /opt/intel/oneapi/compiler/2022.2.1/linux/lib/libsycl.so.5
#14 0x00007ffed159ffdb in cl::sycl::detail::Scheduler::addCG(std::unique_ptr<cl::sycl::detail::CG, std::default_delete<cl::sycl::detail::CG> >, std::shared_ptr<cl::sycl::detail::queue_impl>) ()
   from /opt/intel/oneapi/compiler/2022.2.1/linux/lib/libsycl.so.5
#15 0x00007ffed15e045b in cl::sycl::handler::finalize() () from /opt/intel/oneapi/compiler/2022.2.1/linux/lib/libsycl.so.5
#16 0x00007ffed16147f9 in void cl::sycl::detail::queue_impl::finalizeHandler<cl::sycl::handler>(cl::sycl::handler&, cl::sycl::detail::CG::CGTYPE const&, cl::sycl::event&) ()
   from /opt/intel/oneapi/compiler/2022.2.1/linux/lib/libsycl.so.5
#17 0x00007ffed16142fc in cl::sycl::detail::queue_impl::submit_impl(std::function<void (cl::sycl::handler&)> const&, std::shared_ptr<cl::sycl::detail::queue_impl> const&, std::shared_ptr<cl::sycl::detail:
:queue_impl> const&, std::shared_ptr<cl::sycl::detail::queue_impl> const&, cl::sycl::detail::code_location const&, std::function<void (bool, bool, cl::sycl::event&)> const*) ()
   from /opt/intel/oneapi/compiler/2022.2.1/linux/lib/libsycl.so.5
#18 0x00007ffed1613895 in cl::sycl::detail::queue_impl::submit(std::function<void (cl::sycl::handler&)> const&, std::shared_ptr<cl::sycl::detail::queue_impl> const&, cl::sycl::detail::code_location const&
, std::function<void (bool, bool, cl::sycl::event&)> const*) () from /opt/intel/oneapi/compiler/2022.2.1/linux/lib/libsycl.so.5
#19 0x00007ffed1613855 in cl::sycl::queue::submit_impl(std::function<void (cl::sycl::handler&)>, cl::sycl::detail::code_location const&) () from /opt/intel/oneapi/compiler/2022.2.1/linux/lib/libsycl.so.5
#20 0x00007fff0c35855f in dnnl::impl::gpu::sycl::sycl_interop_gpu_kernel_t::parallel_for(dnnl_stream&, dnnl::impl::gpu::compute::nd_range_t const&, dnnl::impl::gpu::compute::kernel_arg_list_t const&) ()

Metadata

Metadata

Assignees

No one assigned

    Labels

    ARCARC GPUCrashExecution crashes

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions