- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am attempting to compile a program on DevCloud node s001-n081 and I am getting the following error:
aocl-llvm-spirv: /nfs/site/disks/swbld_ops_1/TOR/hld/nightly/20.3api/117.1/l64/p4/acl/llvm-project/llvm/include/llvm/ADT/ilist_iterator.h:138: llvm::ilist_iterator<OptionsT, IsReverse, IsConst>::reference llvm::ilist_iterator<OptionsT, IsReverse, IsConst>::operator*() const [with OptionsT = llvm::ilist_detail::node_options<llvm::BasicBlock, true, false, void>; bool IsReverse = false; bool IsConst = false; llvm::ilist_iterator<OptionsT, IsReverse, IsConst>::reference = llvm::BasicBlock&]: Assertion `!NodePtr->isKnownSentinel()' failed.
PLEASE submit a bug report to https://software.intel.com/en-us/support/priority-support and include the crash backtrace.
Stack dump:
0. Program arguments: /glob/development-tools/versions/oneapi/beta09/inteloneapi/compiler/2021.1-beta09/linux/lib/oclfpga/linux64/bin/../../llvm/bin/aocl-llvm-spirv -r /home/u37667/tmp/a-f1a585.spv -o /home/u37667/tmp/a-205202.6579.temp/spirv.fpga.bc
#0 0x00007fe7f92cfe1a llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/glob/development-tools/versions/oneapi/beta09/inteloneapi/compiler/2021.1-beta09/linux/lib/oclfpga/llvm/bin/../lib/libLLVM-11git.so+0xe3de1a)
#1 0x00007fe7f92cd664 llvm::sys::RunSignalHandlers() (/glob/development-tools/versions/oneapi/beta09/inteloneapi/compiler/2021.1-beta09/linux/lib/oclfpga/llvm/bin/../lib/libLLVM-11git.so+0xe3b664)
#2 0x00007fe7f92cd7b3 SignalHandler(int) (/glob/development-tools/versions/oneapi/beta09/inteloneapi/compiler/2021.1-beta09/linux/lib/oclfpga/llvm/bin/../lib/libLLVM-11git.so+0xe3b7b3)
#3 0x00007fe7fee66890 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x12890)
#4 0x00007fe7f77a7e97 raise (/lib/x86_64-linux-gnu/libc.so.6+0x3ee97)
#5 0x00007fe7f77a9801 abort (/lib/x86_64-linux-gnu/libc.so.6+0x40801)
#6 0x00007fe7f779939a (/lib/x86_64-linux-gnu/libc.so.6+0x3039a)
#7 0x00007fe7f7799412 (/lib/x86_64-linux-gnu/libc.so.6+0x30412)
#8 0x00007fe7f93bb400 llvm::DomTreeBuilder::SemiNCAInfo<llvm::DominatorTreeBase<llvm::BasicBlock, false> >::CalculateFromScratch(llvm::DominatorTreeBase<llvm::BasicBlock, false>&, llvm::DomTreeBuilder::SemiNCAInfo<llvm::DominatorTreeBase<llvm::BasicBlock, false> >::BatchUpdateInfo*) (/glob/development-tools/versions/oneapi/beta09/inteloneapi/compiler/2021.1-beta09/linux/lib/oclfpga/llvm/bin/../lib/libLLVM-11git.so+0xf29400)
#9 0x000055d0741a53e3 SPIRV::SPIRVToLLVM::transLLVMLoopMetadata(llvm::Function const*) (/glob/development-tools/versions/oneapi/beta09/inteloneapi/compiler/2021.1-beta09/linux/lib/oclfpga/linux64/bin/../../llvm/bin/aocl-llvm-spirv+0xcb3e3)
#10 0x000055d0741abd65 SPIRV::SPIRVToLLVM::transFunction(SPIRV::SPIRVFunction*) (/glob/development-tools/versions/oneapi/beta09/inteloneapi/compiler/2021.1-beta09/linux/lib/oclfpga/linux64/bin/../../llvm/bin/aocl-llvm-spirv+0xd1d65)
#11 0x000055d0741a99e9 SPIRV::SPIRVToLLVM::transValueWithoutDecoration(SPIRV::SPIRVValue*, llvm::Function*, llvm::BasicBlock*, bool) (/glob/development-tools/versions/oneapi/beta09/inteloneapi/compiler/2021.1-beta09/linux/lib/oclfpga/linux64/bin/../../llvm/bin/aocl-llvm-spirv+0xcf9e9)
#12 0x000055d0741ab542 SPIRV::SPIRVToLLVM::transValue(SPIRV::SPIRVValue*, llvm::Function*, llvm::BasicBlock*, bool) (/glob/development-tools/versions/oneapi/beta09/inteloneapi/compiler/2021.1-beta09/linux/lib/oclfpga/linux64/bin/../../llvm/bin/aocl-llvm-spirv+0xd1542)
#13 0x000055d0741abd32 SPIRV::SPIRVToLLVM::transFunction(SPIRV::SPIRVFunction*) (/glob/development-tools/versions/oneapi/beta09/inteloneapi/compiler/2021.1-beta09/linux/lib/oclfpga/linux64/bin/../../llvm/bin/aocl-llvm-spirv+0xd1d32)
#14 0x000055d0741a99e9 SPIRV::SPIRVToLLVM::transValueWithoutDecoration(SPIRV::SPIRVValue*, llvm::Function*, llvm::BasicBlock*, bool) (/glob/development-tools/versions/oneapi/beta09/inteloneapi/compiler/2021.1-beta09/linux/lib/oclfpga/linux64/bin/../../llvm/bin/aocl-llvm-spirv+0xcf9e9)
#15 0x000055d0741ab542 SPIRV::SPIRVToLLVM::transValue(SPIRV::SPIRVValue*, llvm::Function*, llvm::BasicBlock*, bool) (/glob/development-tools/versions/oneapi/beta09/inteloneapi/compiler/2021.1-beta09/linux/lib/oclfpga/linux64/bin/../../llvm/bin/aocl-llvm-spirv+0xd1542)
#16 0x000055d0741abd32 SPIRV::SPIRVToLLVM::transFunction(SPIRV::SPIRVFunction*) (/glob/development-tools/versions/oneapi/beta09/inteloneapi/compiler/2021.1-beta09/linux/lib/oclfpga/linux64/bin/../../llvm/bin/aocl-llvm-spirv+0xd1d32)
#17 0x000055d0741b8aee SPIRV::SPIRVToLLVMDbgTran::transFunction(SPIRV::SPIRVExtInst const*) (/glob/development-tools/versions/oneapi/beta09/inteloneapi/compiler/2021.1-beta09/linux/lib/oclfpga/linux64/bin/../../llvm/bin/aocl-llvm-spirv+0xdeaee)
#18 0x000055d0741b062b SPIRV::SPIRVToLLVM::translate() (/glob/development-tools/versions/oneapi/beta09/inteloneapi/compiler/2021.1-beta09/linux/lib/oclfpga/linux64/bin/../../llvm/bin/aocl-llvm-spirv+0xd662b)
#19 0x000055d0741b093a llvm::convertSpirvToLLVM(llvm::LLVMContext&, SPIRV::SPIRVModule&, std::string&) (/glob/development-tools/versions/oneapi/beta09/inteloneapi/compiler/2021.1-beta09/linux/lib/oclfpga/linux64/bin/../../llvm/bin/aocl-llvm-spirv+0xd693a)
#20 0x000055d0741b0a91 llvm::readSpirv(llvm::LLVMContext&, SPIRV::TranslatorOpts const&, std::istream&, llvm::Module*&, std::string&) (/glob/development-tools/versions/oneapi/beta09/inteloneapi/compiler/2021.1-beta09/linux/lib/oclfpga/linux64/bin/../../llvm/bin/aocl-llvm-spirv+0xd6a91)
#21 0x000055d074160606 main (/glob/development-tools/versions/oneapi/beta09/inteloneapi/compiler/2021.1-beta09/linux/lib/oclfpga/linux64/bin/../../llvm/bin/aocl-llvm-spirv+0x86606)
#22 0x00007fe7f778ab97 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b97)
#23 0x000055d07416557d _start (/glob/development-tools/versions/oneapi/beta09/inteloneapi/compiler/2021.1-beta09/linux/lib/oclfpga/linux64/bin/../../llvm/bin/aocl-llvm-spirv+0x8b57d)
Error: SPIRV to LLVM IR FAILED
dpcpp: error: fpga compiler command failed with exit code 1 (use -v to see invocation)
This only is an issue when I am trying to use #pragma unroll to unroll a loop for a hardware compilation. I would appreciate any insight on this anyone might have.
It is a single work item kernel and an example of the use that breaks it is:
int rows[2 * COLS + 3]
#pragma unroll
for(int i = (COLS * 2) + 2; i > 0; --i){
rows[i] = rows[i-1];
}
The same loop works in OpenCL with the same pragma.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi ,
Can you share the command used for compilation so that we can have a look.
Thanks and Regards
Anil
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The commands used for compilation are:
dpcpp -O2 -g -std=c++17 -fintelfpga -c src/sobel-buffers.cpp -o a.o -DFPGA=1
dpcpp -O2 -g -std=c++17 -fintelfpga a.o -o sobel-buffers.fpga -Xshardware -Xsprofile
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Could you refer to the examples and style given in the below link and inform us whether the norms are followed as described there.
if that doesn't help , would you mind sharing the full code so that our experts can have a look and get back to you.
Thanks and Regards
Anil
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page