On 11/19/20 11:20 PM, Rebecca N. Palmer wrote:
> This isn't testable in a qemu-armhf chroot, as pocl doesn't work there.
It works for me in a armhf pbuilder chroot driven via qemu-user-static
on an amd64 host.
Trying to reproduce on abel.d.o, a real armhf porterbox:
* install in the chroot:
pocl-opencl-icd libpocl2-dbgsym libllvm10-dbgsym libclblas2-dbgsym
libgpuarray3-dbgsym libc6-dbg python3-nose python3-pygpu-dbg python3-scipy
libclblas-dev gdb
$ ulimit -c unlimited
$ DEVICE=opencl0:0 python3.9 -m nose -v pygpu.tests.test_blas
*** Testing for pthread-0x584
pygpu.tests.test_blas.test_dot(1, 'float32', True, True, True, False) ...
Segmentation fault (core dumped)
$ gdb /usr/bin/python3.9 core
[...]
bt
#0 getEmissionKind () at
/build/llvm-toolchain-10-hVI0Qp/llvm-toolchain-10-10.0.1/llvm/include/llvm/IR/DebugInfoMetadata.h:1244
#1 initialize () at
/build/llvm-toolchain-10-hVI0Qp/llvm-toolchain-10-10.0.1/llvm/lib/CodeGen/LexicalScopes.cpp:53
#2 0xafa922f0 in computeIntervals () at
/build/llvm-toolchain-10-hVI0Qp/llvm-toolchain-10-10.0.1/llvm/lib/CodeGen/LiveDebugVariables.cpp:979
#3 runOnMachineFunction () at
/build/llvm-toolchain-10-hVI0Qp/llvm-toolchain-10-10.0.1/llvm/lib/CodeGen/LiveDebugVariables.cpp:996
#4 runOnMachineFunction () at
/build/llvm-toolchain-10-hVI0Qp/llvm-toolchain-10-10.0.1/llvm/lib/CodeGen/LiveDebugVariables.cpp:1023
#5 0xafb076c8 in runOnFunction () at
/build/llvm-toolchain-10-hVI0Qp/llvm-toolchain-10-10.0.1/llvm/lib/CodeGen/MachineFunctionPass.cpp:73
#6 0xaf981494 in runOnFunction () at
/build/llvm-toolchain-10-hVI0Qp/llvm-toolchain-10-10.0.1/llvm/lib/IR/LegacyPassManager.cpp:1481
#7 0xaf981750 in runOnModule () at
/build/llvm-toolchain-10-hVI0Qp/llvm-toolchain-10-10.0.1/llvm/lib/IR/LegacyPassManager.cpp:1517
#8 0xaf981ba8 in runOnModule () at
/build/llvm-toolchain-10-hVI0Qp/llvm-toolchain-10-10.0.1/llvm/lib/IR/LegacyPassManager.cpp:1582
#9 run () at
/build/llvm-toolchain-10-hVI0Qp/llvm-toolchain-10-10.0.1/llvm/lib/IR/LegacyPassManager.cpp:1694
#10 0xb54e4c82 in pocl_llvm_codegen (Device=Device@entry=0x1cdea20,
Modp=0x4b88240, Output=Output@entry=0xbee61784,
OutputSize=OutputSize@entry=0xbee61798) at ./lib/CL/pocl_llvm_wg.cc:624
#11 0xb54a91de in llvm_codegen (output=output@entry=0x4b7f530
"/home/anbe/.cache/pocl/kcache/LE/ELACJMEDJOLOPBPKFGKJKDCIPBPEMINDFHLHI/Sdot_kernel/0-0-0/Sdot_kernel.so",
device_i=device_i@entry=0, kernel=kernel@entry=0xbee63158, device=0x1cdea20,
command=command@entry=0xbee63190, specialize=specialize@entry=0) at
./lib/CL/devices/common.c:158
#12 0xb54aae44 in pocl_check_kernel_disk_cache
(command=command@entry=0xbee63190, specialized=specialized@entry=0) at
./lib/CL/devices/common.c:958
#13 0xb54ab262 in pocl_check_kernel_dlhandle_cache (command=0xbee63190,
initial_refcount=0, specialize=0) at ./lib/CL/devices/common.c:1081
#14 0xb54833d4 in program_compile_dynamic_wg_binaries
(program=program@entry=0x460d1e0) at ./lib/CL/pocl_build.c:179
#15 0xb5493f20 in get_binary_sizes (sizes=0xbee63288, program=0x460d1e0) at
./lib/CL/clGetProgramInfo.c:36
#16 POclGetProgramInfo (program=0x460d1e0, param_name=4453, param_value_size=4,
param_value=0xbee63288, param_value_size_ret=0x0) at
./lib/CL/clGetProgramInfo.c:115
#17 0xa1ea1722 in getSingleBinaryFromProgram (binary=std::vector of length 0,
capacity 0, program=0x460d1e0) at
./src/library/blas/generic/binary_lookup.cc:392
#18 BinaryLookup::populateCache (this=this@entry=0xbee63308) at
./src/library/blas/generic/binary_lookup.cc:466
#19 0xa1e9d738 in makeKernelCached (device=0x1cdea20, context=0x1cdf230,
sid=sid@entry=320, key=key@entry=0xbee6348c,
kernelGenerator=kernelGenerator@entry=0xa1ec8ad9 ,
dims=0x440e670, pgran=pgran@entry=0x440e6ac, extra=extra@entry=0xbee634d4,
buildOpts=buildOpts@entry=0xbee6372c "-g -DINCX_NONUNITY -DINCY_NONUNITY",
error=error@entry=0xbee63410) at ./src/library/blas/generic/common2.cc:90
#20 0xa1ea0662 in makeSolutionSeq (funcID=funcID@entry=CLBLAS_DOT,
args=args@entry=0xbee639f0, numCommandQueues=numCommandQueues@entry=1,
commandQueues=commandQueues@entry=0x1a2aee0,
numEventsInWaitList=numEventsInWaitList@entry=0,
eventWaitList=eventWaitList@entry=0x0, events=events@entry=0xbee63894,
seq=seq@entry=0xbee63898) at ./src/library/blas/generic/solution_seq_make.c:587
#21 0xa1e8c9b6 in doDot (kargs=kargs@entry=0xbee639f0, N=1,
dotProduct=, offDP=0, X=0x1d4c118, offx=1, incx=2, Y=0x43d7f90,
offy=1, incy=2, scratchBuff=0x440e370, doConj=0, numCommandQueues=1,
commandQueues=0x1a2aee0, numEventsInWaitList=0,
eventWaitList=0x0, events=0xbee63b44) at ./src/library/blas/xdot.c:132
#22 0xa1e8cac8 in clblasSdot (N=, dotProduct=,
offDP=, X=0x1d4c118, offx=1, incx=2, Y=0x43d7f90, offy=1,
incy=2, scratchBuff=0x440e370, numCommandQueues=1, commandQueues=0x1a2aee0,
numEventsInWaitList=0,
eventWaitList=0x0, events=0xbee63b44) at ./src/library/blas/xdot.c:193
#23 0xb62314c2 in sdot (N=, X=0x1d3ce20, offX=1, incX=2,