Bug#919824: clblas: under pocl-opencl-icd, aborts with !"PIC Level"

Rebecca N. Palmer rebecca_palmer at zoho.com
Sun Jan 20 09:54:02 GMT 2019


Control: reassign -1 libpocl2
Control: affects -1 libclblas2
Control: found -1 1.2-2

sid (clblas 2.12-1+b1, pocl 1.2-2) amd64.  Applying the fixes from 
#881054 doesn't help.

Emptying the cache makes it repeatable which test fails, and disabling 
the cache (POCL_KERNEL_CACHE=0) avoids the error completely.

pocl debug output shows clblas isn't passing any PIC options, so 
reassigning to pocl only.

$ CTEST_OUTPUT_ON_FAILURE=1  POCL_LEAVE_KERNEL_COMPILER_TEMP_FILES=1 
POCL_DEBUG=general,llvm ctest --force-new-ctest-process -R "blas_opencl" 
-E "large|dense"
[...]
[ RUN      ] MatrixMultiply/1.RectangleVector
[2019-00-20 09:25:52.444990135] POCL: in fn compile_and_link_program at 
line 511:
   *** INFO ***  |   GENERAL |  building program with options 
-debug-info-kind=line-tables-only
[2019-00-20 09:25:52.445004765] POCL: in fn compile_and_link_program at 
line 566:
   *** INFO ***  |   GENERAL |  building from sources for device 0
[2019-00-20 09:25:52.445057594] POCL: in fn int 
pocl_llvm_build_program(cl_program, unsigned int, const char*, char*, 
cl_uint, _cl_program* const*, const char**, int) at line 333:
   *** INFO ***  |      LLVM |  all build options: 
-Dcl_khr_byte_addressable_store -Dcl_khr_global_int32_base_atomics 
-Dcl_khr_global_int32_extended_atomics -Dcl_khr_local_int32_base_atomics 
-Dcl_khr_local_int32_extended_atomics -Dcl_khr_3d_image_writes 
-Dcl_khr_fp64 -Dcl_khr_int64_base_atomics 
-Dcl_khr_int64_extended_atomics -Dcl_khr_fp64 
-cl-ext=-all,+cl_khr_byte_addressable_store,+cl_khr_global_int32_base_atomics,+cl_khr_global_int32_extended_atomics,+cl_khr_local_int32_base_atomics,+cl_khr_local_int32_extended_atomics,+cl_khr_3d_image_writes,+cl_khr_fp64,+cl_khr_int64_base_atomics,+cl_khr_int64_extended_atomics,+cl_khr_fp64 
-Dcl_khr_int64 -xcl -Dinline= -I. -cl-kernel-arg-info 
-debug-info-kind=line-tables-only -D__ENDIAN_LITTLE__=1 
-D__IMAGE_SUPPORT__=1 -DCL_DEVICE_MAX_GLOBAL_VARIABLE_SIZE=0 
-D__OPENCL_VERSION__=120 -cl-std=CL1.2 -D__OPENCL_C_VERSION__=120 
-fno-builtin -triple=x86_64-pc-linux-gnu -target-cpu ivybridge
module flag identifiers must be unique (or of 'require' type)
!"PIC Level"
LLVM ERROR: Broken module found, compilation aborted!

(Last kernel in the cache is a workgroup size=64,1,1 cgemv; with 
nonempty cache, it can instead be a 64,1,1 sgemv)



More information about the debian-science-maintainers mailing list