Open pvelesko opened 1 year ago
The above set of tests should now work on the latest PoCL rev. Are the texture tests supposed to work, have they worked at some point? I recall the texture implementation is not complete.
The above set of tests should now work on the latest PoCL rev
I'll try that today
Are the texture tests supposed to work, have they worked at some point? I recall the texture implementation is not complete.
yes, these are new failures. Either way, compiler crash is not desired.
The texture tests are failing for Intel CPU as well, @pjaaskel
PoCL update resolved these:
41 - sharedMemory (SEGFAULT)
49 - stream (SEGFAULT)
52 - deviceManagement (SEGFAULT)
82 - cuda-matrixMul (SEGFAULT)
PoCL crashes the compiler:
pvelesko@cupcake ➜ build git:(SmallFixesLibCeed) ctest -R Unit_hipTextureFetch_vector -V
UpdateCTestConfiguration from :/home/pvelesko/CHIP-SPV/chip-spv/build/DartConfiguration.tcl
UpdateCTestConfiguration from :/home/pvelesko/CHIP-SPV/chip-spv/build/DartConfiguration.tcl
Test project /home/pvelesko/CHIP-SPV/chip-spv/build
Constructing a list of tests
Done constructing a list of tests
Updating test list for fixtures
Added 0 tests to meet fixture requirements
Checking test dependency graph...
Checking test dependency graph end
test 1179
Start 1179: Unit_hipTextureFetch_vector
1179: Test command: /home/pvelesko/CHIP-SPV/chip-spv/build/catch/catch_tests/unit/texture/hipTextureObjFetchVector "Unit_hipTextureFetch_vector"
1179: Test timeout computed to be: 10000000
1179: PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
1179: Stack dump:
1179: 0. Program arguments: /home/pvelesko/install/clang/16.0/bin/llvm-spirv --spirv-target-env=CL1.2 -r -o /home/pvelesko/.cache/pocl/kcache/tempfile_9S0ySw.bc /home/pvelesko/.cache/pocl/kcache/tempfile_N3V5oB.spirv
1179: #0 0x00007f9c82ca75f2 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/pvelesko/install/clang/16.0/lib/libLLVMSupport.so.16+0x1bd5f2)
1179: #1 0x00007f9c82ca4e1b SignalHandler(int) Signals.cpp:0:0
1179: #2 0x00007f9c826c5520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
1179: #3 0x00007f9c82f6a0f2 llvm::CallInst::init(llvm::FunctionType*, llvm::Value*, llvm::ArrayRef<llvm::Value*>, llvm::ArrayRef<llvm::OperandBundleDefT<llvm::Value*>>, llvm::Twine const&) (/home/pvelesko/install/clang/16.0/lib/libLLVMCore.so.16+0x2190f2)
1179: #4 0x00007f9c834494dc SPIRV::addCallInst(llvm::Module*, llvm::StringRef, llvm::Type*, llvm::ArrayRef<llvm::Value*>, llvm::AttributeList*, llvm::Instruction*, SPIRV::BuiltinFuncMangleInfo*, llvm::StringRef, bool) (/home/pvelesko/install/clang/16.0/lib/libLLVMSPIRVLib.so.16+0x2044dc)
1179: #5 0x00007f9c833a621e SPIRV::BuiltinCallMutator::doConversion() (/home/pvelesko/install/clang/16.0/lib/libLLVMSPIRVLib.so.16+0x16121e)
1179: #6 0x00007f9c8336f2f3 SPIRV::BuiltinCallMutator::~BuiltinCallMutator() (/home/pvelesko/install/clang/16.0/lib/libLLVMSPIRVLib.so.16+0x12a2f3)
1179: #7 0x00007f9c834131ad SPIRV::SPIRVToOCLBase::visitCallSPIRVImageSampleExplicitLodBuiltIn(llvm::CallInst*, spv::Op) (/home/pvelesko/install/clang/16.0/lib/libLLVMSPIRVLib.so.16+0x1ce1ad)
1179: #8 0x00007f9c8341a486 SPIRV::SPIRVToOCLBase::visitCallInst(llvm::CallInst&) (/home/pvelesko/install/clang/16.0/lib/libLLVMSPIRVLib.so.16+0x1d5486)
1179: #9 0x00007f9c8341b515 SPIRV::SPIRVToOCL12Base::runSPIRVToOCL(llvm::Module&) (/home/pvelesko/install/clang/16.0/lib/libLLVMSPIRVLib.so.16+0x1d6515)
1179: #10 0x00007f9c8340ee14 llvm::detail::PassModel<llvm::Module, SPIRV::SPIRVToOCL12Pass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/home/pvelesko/install/clang/16.0/lib/libLLVMSPIRVLib.so.16+0x1c9e14)
1179: #11 0x00007f9c833faf3d llvm::convertSpirvToLLVM(llvm::LLVMContext&, SPIRV::SPIRVModule&, SPIRV::TranslatorOpts const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&) (/home/pvelesko/install/clang/16.0/lib/libLLVMSPIRVLib.so.16+0x1b5f3d)
1179: #12 0x00007f9c833fb534 llvm::readSpirv(llvm::LLVMContext&, SPIRV::TranslatorOpts const&, std::istream&, llvm::Module*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&) (/home/pvelesko/install/clang/16.0/lib/libLLVMSPIRVLib.so.16+0x1b6534)
1179: #13 0x000055efd0accc3d main (/home/pvelesko/install/clang/16.0/bin/llvm-spirv+0x9c3d)
1179: #14 0x00007f9c826acd90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
1179: #15 0x00007f9c826ace40 call_init ./csu/../csu/libc-start.c:128:20
1179: #16 0x00007f9c826ace40 __libc_start_main ./csu/../csu/libc-start.c:379:5
1179: #17 0x000055efd0acdb25 _start (/home/pvelesko/install/clang/16.0/bin/llvm-spirv+0xab25)
1179: CHIP error [TID 424453] [1685017872.656521578] : Program BUILD LOG for device #0:pthread-12th Gen Intel(R) Core(TM) i3-12100:
1179: Device pthread-12th Gen Intel(R) Core(TM) i3-12100 failed to build the program
While Intel CPU segfaults:
hread 1 "hipTextureObjFe" received signal SIGSEGV, Segmentation fault.
0x00007ffff3e1a928 in SPIRV::isOCLImageType(llvm::Type*, llvm::StringRef*) () from /opt/intel/oneapi/compiler/latest/linux/lib/x64/libintelocl.so
(gdb) bt
#0 0x00007ffff3e1a928 in SPIRV::isOCLImageType(llvm::Type*, llvm::StringRef*) () from /opt/intel/oneapi/compiler/latest/linux/lib/x64/libintelocl.so
#1 0x00007ffff3e8a3bd in SPIRV::SPIRVToOCLBase::visitCallSPIRVImageSampleExplicitLodBuiltIn(llvm::CallInst*, spv::Op) () from /opt/intel/oneapi/compiler/latest/linux/lib/x64/libintelocl.so
#2 0x00007ffff3e85d60 in SPIRV::SPIRVToOCLBase::visitCallInst(llvm::CallInst&) () from /opt/intel/oneapi/compiler/latest/linux/lib/x64/libintelocl.so
#3 0x00007ffff3e93e6e in SPIRV::SPIRVToOCL12Base::runSPIRVToOCL(llvm::Module&) () from /opt/intel/oneapi/compiler/latest/linux/lib/x64/libintelocl.so
#4 0x00007ffff3e90a22 in llvm::detail::PassModel<llvm::Module, SPIRV::SPIRVToOCL12Pass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) () from /opt/intel/oneapi/compiler/latest/linux/lib/x64/libintelocl.so
#5 0x00007ffff36b55ac in llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) () from /opt/intel/oneapi/compiler/latest/linux/lib/x64/libintelocl.so
#6 0x00007ffff3d3504a in llvm::convertSpirvToLLVM(llvm::LLVMContext&, SPIRV::SPIRVModule&, SPIRV::TranslatorOpts const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) () from /opt/intel/oneapi/compiler/latest/linux/lib/x64/libintelocl.so
#7 0x00007ffff3d36260 in llvm::readSpirv(llvm::LLVMContext&, SPIRV::TranslatorOpts const&, std::istream&, llvm::Module*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) () from /opt/intel/oneapi/compiler/latest/linux/lib/x64/libintelocl.so
#8 0x00007ffff3d05ddb in Intel::OpenCL::ClangFE::ClangFECompilerParseSPIRVTask::ParseSPIRV(Intel::OpenCL::ClangFE::IOCLFEBinaryResult**) () from /opt/intel/oneapi/compiler/latest/linux/lib/x64/libintelocl.so
#9 0x00007ffff39eaf02 in Intel::OpenCL::ClangFE::ClangFECompiler::ParseSPIRV(Intel::OpenCL::FECompilerAPI::FESPIRVProgramDescriptor*, Intel::OpenCL::ClangFE::IOCLFEBinaryResult**) () from /opt/intel/oneapi/compiler/latest/linux/lib/x64/libintelocl.so
#10 0x00007ffff39d59c7 in Intel::OpenCL::Framework::FrontEndCompiler::ParseSpirv(char const*, unsigned int, char const*, unsigned long, unsigned int const*, unsigned long const*, char**, unsigned long*, char**) const () from /opt/intel/oneapi/compiler/latest/linux/lib/x64/libintelocl.so
#11 0x00007ffff37bf952 in Intel::OpenCL::Framework::CompileTask::Execute() () from /opt/intel/oneapi/compiler/latest/linux/lib/x64/libintelocl.so
#12 0x00007ffff37bfe2d in non-virtual thunk to Intel::OpenCL::Framework::CompileTask::Execute() () from /opt/intel/oneapi/compiler/latest/linux/lib/x64/libintelocl.so
#13 0x00007fffe5c420ff in Intel::OpenCL::TaskExecutor::execute_command(Intel::OpenCL::Utils::SharedPtr<Intel::OpenCL::TaskExecutor::ITaskBase> const&, Intel::OpenCL::TaskExecutor::base_command_list&) () from /opt/intel/oneapi/compiler/2023.1.0/linux/lib/x64/libtask_executor.so.2023.15.3.0
#14 0x00007fffe5c2ddfa in tbb::detail::d1::task_arena_function<Intel::OpenCL::TaskExecutor::immediate_executor_task, void>::operator()() const () from /opt/intel/oneapi/compiler/2023.1.0/linux/lib/x64/libtask_executor.so.2023.15.3.0
#15 0x00007fffe5212170 in tbb::detail::r1::task_arena_impl::execute (ta=..., d=...) at /localdisk/ci/runner008/intel-innersource/001/_work/libraries.threading.infrastructure.onetbb-ci/libraries.threading.infrastructure.onetbb-ci/onetbb_source_code/src/tbb/arena.cpp:688
#16 0x00007fffe5c2bec3 in Intel::OpenCL::TaskExecutor::immediate_command_list::LaunchExecutorTask(bool, Intel::OpenCL::Utils::SharedPtr<Intel::OpenCL::TaskExecutor::ITaskBase> const&) () from /opt/intel/oneapi/compiler/2023.1.0/linux/lib/x64/libtask_executor.so.2023.15.3.0
#17 0x00007ffff347fc36 in Intel::OpenCL::Framework::FrameworkProxy::ExecuteImmediate(Intel::OpenCL::Utils::SharedPtr<Intel::OpenCL::TaskExecutor::ITaskBase> const&) const () from /opt/intel/oneapi/compiler/latest/linux/lib/x64/libintelocl.so
#18 0x00007ffff37bedbe in Intel::OpenCL::Framework::BuildTask::Launch() () from /opt/intel/oneapi/compiler/latest/linux/lib/x64/libintelocl.so
#19 0x00007ffff37c7deb in Intel::OpenCL::Framework::ProgramService::BuildProgram(Intel::OpenCL::Utils::SharedPtr<Intel::OpenCL::Framework::Program>&, unsigned int, _cl_device_id* const*, char const*, void (*)(_cl_program*, void*), void*) () from /opt/intel/oneapi/compiler/latest/linux/lib/x64/libintelocl.so
#20 0x00007ffff34b0f5a in Intel::OpenCL::Framework::Context::BuildProgram(_cl_program*, unsigned int, _cl_device_id* const*, char const*, void (*)(_cl_program*, void*), void*) () from /opt/intel/oneapi/compiler/latest/linux/lib/x64/libintelocl.so
#21 0x00007ffff34923b9 in Intel::OpenCL::Framework::ContextModule::BuildProgram(_cl_program*, unsigned int, _cl_device_id* const*, char const*, void (*)(_cl_program*, void*), void*) () from /opt/intel/oneapi/compiler/latest/linux/lib/x64/libintelocl.so
#22 0x00007ffff343916c in clBuildProgram () from /opt/intel/oneapi/compiler/latest/linux/lib/x64/libintelocl.so
#23 0x00007ffff755601f in clBuildProgram (program=0x555556865248, num_devices=0, device_list=0x0, options=0x55555693c620 "-x spir -cl-kernel-arg-info", pfn_notify=0x0, user_data=0x0) at ocl_icd_loader_gen.c:2072
#24 0x00007ffff7e9549a in cl::Program::build (this=0x7fffffff99d0, options=0x55555693c620 "-x spir -cl-kernel-arg-info", notifyFptr=0x0, data=0x0) at /home/pvelesko/CHIP-SPV/chip-spv/include/CL/opencl.hpp:6709
#25 0x00007ffff7e85a16 in CHIPModuleOpenCL::compile (this=0x555556989c80, ChipDev=0x5555568d9d90) at /home/pvelesko/CHIP-SPV/chip-spv/src/backend/OpenCL/CHIPBackendOpenCL.cc:745
#26 0x00007ffff7e97bf2 in CHIPDeviceOpenCL::compile (this=0x5555568d9d90, SrcMod=...) at /home/pvelesko/CHIP-SPV/chip-spv/src/backend/OpenCL/CHIPBackendOpenCL.hh:206
#27 0x00007ffff7dc6c7b in CHIPDevice::getOrCreateModule (this=0x5555568d9d90, SrcMod=...) at /home/pvelesko/CHIP-SPV/chip-spv/src/CHIPBackend.cc:980
#28 0x00007ffff7dc6863 in CHIPDevice::getOrCreateModule (this=0x5555568d9d90, Ptr=...) at /home/pvelesko/CHIP-SPV/chip-spv/src/CHIPBackend.cc:954
#29 0x00007ffff7dc6649 in CHIPDevice::prepareDeviceVariables (this=0x5555568d9d90, Ptr=...) at /home/pvelesko/CHIP-SPV/chip-spv/src/CHIPBackend.cc:914
#30 0x00007ffff7e4598e in hipLaunchKernel (HostFunction=0x555555728b20 <void tex1dKernelFetch<HIP_vector_type<char, 1u> >(HIP_vector_type<char, 1u>*, __hip_texture*, int)>, GridDim=..., BlockDim=..., Args=0x7fffffffa250, SharedMem=0, Stream=0x5555568daa70) at /home/pvelesko/CHIP-SPV/chip-spv/src/CHIPBindings.cc:3696
#31 0x00005555555dda3f in void __device_stub__tex1dKernelFetch<HIP_vector_type<char, 1u> >(HIP_vector_type<char, 1u>*, __hip_texture*, int) ()
#32 0x000055555559fdc8 in runTest<HIP_vector_type<char, 1u> > () at /home/pvelesko/CHIP-SPV/chip-spv/HIP/tests/catch/unit/texture/hipTextureObjFetchVector.cc:179
#33 0x000055555559bbb2 in ____C_A_T_C_H____T_E_S_T____28 () at /home/pvelesko/CHIP-SPV/chip-spv/HIP/tests/catch/unit/texture/hipTextureObjFetchVector.cc:209
#34 0x00005555555f7313 in Catch::TestInvokerAsFunction::invoke (this=0x55555574a330) at /home/pvelesko/CHIP-SPV/chip-spv/HIP/tests/catch/external/Catch2/catch.hpp:14261
#35 0x00005555555f1934 in Catch::TestCase::invoke (this=0x5555568db350) at /home/pvelesko/CHIP-SPV/chip-spv/HIP/tests/catch/external/Catch2/catch.hpp:14100
#36 0x00005555555f186a in Catch::RunContext::invokeActiveTestCase (this=0x7fffffffca50) at /home/pvelesko/CHIP-SPV/chip-spv/HIP/tests/catch/external/Catch2/catch.hpp:12959
#37 0x00005555555f050e in Catch::RunContext::runCurrentTest (this=0x7fffffffca50, redirectedCout=..., redirectedCerr=...) at /home/pvelesko/CHIP-SPV/chip-spv/HIP/tests/catch/external/Catch2/catch.hpp:12932
#38 0x00005555555ef995 in Catch::RunContext::runTest (this=0x7fffffffca50, testCase=...) at /home/pvelesko/CHIP-SPV/chip-spv/HIP/tests/catch/external/Catch2/catch.hpp:12693
#39 0x00005555555f4033 in Catch::(anonymous namespace)::TestGroup::execute (this=0x7fffffffca40) at /home/pvelesko/CHIP-SPV/chip-spv/HIP/tests/catch/external/Catch2/catch.hpp:13287
#40 0x00005555555f365b in Catch::Session::runInternal (this=0x7fffffffcd60) at /home/pvelesko/CHIP-SPV/chip-spv/HIP/tests/catch/external/Catch2/catch.hpp:13493
#41 0x00005555555f3447 in Catch::Session::run (this=0x7fffffffcd60) at /home/pvelesko/CHIP-SPV/chip-spv/HIP/tests/catch/external/Catch2/catch.hpp:13449
#42 0x00005555556240da in Catch::Session::run<char> (this=0x7fffffffcd60, argc=2, argv=0x7fffffffd018) at /home/pvelesko/CHIP-SPV/chip-spv/HIP/tests/catch/external/Catch2/catch.hpp:13171
#43 0x000055555560919f in main (argc=2, argv=0x7fffffffd018) at /home/pvelesko/CHIP-SPV/chip-spv/HIP/tests/catch/external/Catch2/catch.hpp:17448
Most likely related to: https://github.com/KhronosGroup/SPIRV-LLVM-Translator/issues/2008.
Is the source of this error likely the same for both Intel and PoCL? Do I need to do anything else in regards to this ticket?
This might have to do with a SPIRV-Translator issue we today observed with LLVM 16-produced IR related to images and samplers (related to the opaque pointers transition). https://github.com/pocl/pocl/issues/1232 https://github.com/KhronosGroup/SPIRV-LLVM-Translator/issues/2008
Dropped from Milestone 1.0: resolution depends on external issue.
These two types of failures now observed on the CI machine. These tests pass on Intel OpenCL
These tests fail for both PoCL OCL CPU and Intel Compute Runtime OCL CPU 784 - Unit_hipTextureFetch_vector (Failed) 785 - Unit_hipTextureObj2D_Check (Failed) 787 - Unit_hipCreateTextureObject_tex1DfetchVerification (Failed) 788 - Unit_hipTextureObj1DCheckModes (Failed) 789 - Unit_hipTextureObj2DCheckModes (Failed)