- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
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.
링크가 복사됨
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
Hi ,
Can you share the command used for compilation so that we can have a look.
Thanks and Regards
Anil
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
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
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
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
