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

Rebecca N. Palmer rebecca_palmer at zoho.com
Sat Jan 19 23:16:57 GMT 2019


Source: pocl,clblas
(Probably really only one of them, but I don't know which.)

When using pocl-opencl-icd, clblas sometimes exits with

module flag identifiers must be unique (or of 'require' type)
!"PIC Level"
LLVM ERROR: Broken module found, compilation aborted!

The test suites of both libgpuarray and arrayfire seem to reliably 
trigger this, but exactly which test hits it seems to vary from run to 
run, suggesting that randomness and/or caching are involved.

Neither upstream's bug tracker lists this; I have not checked whether it 
exists upstream.

arrayfire run 1:
$ cmake ../arrayfire-3.3.2+dfsg1/test
$ make
$ CTEST_OUTPUT_ON_FAILURE=1 ctest --force-new-ctest-process -R "opencl" 
-E "large|dense"
[...]
       Start  10: Test_blas_opencl
10/96 Test  #10: Test_blas_opencl ....................***Failed    8.30 sec
Running main() from /usr/src/gtest/src/gtest_main.cc
[==========] Running 48 tests from 4 test cases.
[----------] Global test environment set-up.
[----------] 12 tests from MatrixMultiply/0, where TypeParam = float
[ RUN      ] MatrixMultiply/0.Square
[       OK ] MatrixMultiply/0.Square (1325 ms)
[ RUN      ] MatrixMultiply/0.NonSquare
[       OK ] MatrixMultiply/0.NonSquare (1153 ms)
[ RUN      ] MatrixMultiply/0.SquareVector
[       OK ] MatrixMultiply/0.SquareVector (380 ms)
[ RUN      ] MatrixMultiply/0.RectangleVector
[       OK ] MatrixMultiply/0.RectangleVector (1873 ms)
[ RUN      ] MatrixMultiply/0.Square_CPP
[       OK ] MatrixMultiply/0.Square_CPP (0 ms)
[ RUN      ] MatrixMultiply/0.NonSquare_CPP
[       OK ] MatrixMultiply/0.NonSquare_CPP (0 ms)
[ RUN      ] MatrixMultiply/0.SquareVector_CPP
[       OK ] MatrixMultiply/0.SquareVector_CPP (1 ms)
[ RUN      ] MatrixMultiply/0.RectangleVector_CPP
[       OK ] MatrixMultiply/0.RectangleVector_CPP (0 ms)
[ RUN      ] MatrixMultiply/0.MultiGPUSquare_CPP
[       OK ] MatrixMultiply/0.MultiGPUSquare_CPP (1 ms)
[ RUN      ] MatrixMultiply/0.MultiGPUNonSquare_CPP
[       OK ] MatrixMultiply/0.MultiGPUNonSquare_CPP (0 ms)
[ RUN      ] MatrixMultiply/0.MultiGPUSquareVector_CPP
[       OK ] MatrixMultiply/0.MultiGPUSquareVector_CPP (1 ms)
[ RUN      ] MatrixMultiply/0.MultiGPURectangleVector_CPP
[       OK ] MatrixMultiply/0.MultiGPURectangleVector_CPP (0 ms)
[----------] 12 tests from MatrixMultiply/0 (4735 ms total)

[----------] 12 tests from MatrixMultiply/1, where TypeParam = af::af_cfloat
[ RUN      ] MatrixMultiply/1.Square
[       OK ] MatrixMultiply/1.Square (1625 ms)
[ RUN      ] MatrixMultiply/1.NonSquare
[       OK ] MatrixMultiply/1.NonSquare (1386 ms)
[ RUN      ] MatrixMultiply/1.SquareVector
3 warnings generated.
[       OK ] MatrixMultiply/1.SquareVector (477 ms)
[ RUN      ] MatrixMultiply/1.RectangleVector
module flag identifiers must be unique (or of 'require' type)
!"PIC Level"
LLVM ERROR: Broken module found, compilation aborted!

arrayfire run 2:
$ CTEST_OUTPUT_ON_FAILURE=1 ctest --force-new-ctest-process -R "opencl" 
-E "large|dense"
[...]
10/96 Test  #10: Test_blas_opencl ....................***Failed    0.75 sec
Running main() from /usr/src/gtest/src/gtest_main.cc
[==========] Running 48 tests from 4 test cases.
[----------] Global test environment set-up.
[----------] 12 tests from MatrixMultiply/0, where TypeParam = float
[ RUN      ] MatrixMultiply/0.Square
[       OK ] MatrixMultiply/0.Square (439 ms)
[ RUN      ] MatrixMultiply/0.NonSquare
[       OK ] MatrixMultiply/0.NonSquare (224 ms)
[ RUN      ] MatrixMultiply/0.SquareVector
module flag identifiers must be unique (or of 'require' type)
!"PIC Level"
LLVM ERROR: Broken module found, compilation aborted!

libgpuarray (0.7.6) run 1:
$ DEVICE=opencl0:0 python3 -m nose -v pygpu
*** Testing for pthread-Intel(R) Core(TM) i5-3230M CPU @ 2.60GHz
mpi4py found: False
pygpu.test ... ..........module flag identifiers must be unique (or of 
'require' type)
!"PIC Level"
LLVM ERROR: Broken module found, compilation aborted!

libgpuarray (0.7.6) run 2:
$ DEVICE=opencl0:0 python3 -m nose -v pygpu
*** Testing for pthread-Intel(R) Core(TM) i5-3230M CPU @ 2.60GHz
mpi4py found: False
pygpu.test ... ...............................module flag identifiers 
must be unique (or of 'require' type)
!"PIC Level"
LLVM ERROR: Broken module found, compilation aborted!



More information about the debian-science-maintainers mailing list