[Beignet] OpenCL compilation bug/assert
Hugh Perkins
hughperkins at gmail.com
Mon Oct 10 13:04:11 UTC 2016
Following code:
struct Eigen__TensorEvaluator_0 {
global float* f0;
};
struct Eigen__internal__scalar_constant_op {
float f0;
};
struct Eigen__TensorEvaluator_1 {
struct Eigen__internal__scalar_constant_op f0;
};
struct Eigen__TensorEvaluator {
struct Eigen__TensorEvaluator_0 f0;
struct Eigen__TensorEvaluator_1 f1;
};
kernel void foo(global struct Eigen__TensorEvaluator* pstruct, global
float* floats0) {
pstruct[0].f0.f0 = floats0;
pstruct[0].f0.f0[0] = pstruct[0].f1.f0.f0;
}
... causes the following compilation error, using beignet commit
2c1f2468b82 , on an Intel HD 5500 gpu:
context <pyopencl.Context at 0x27c5380 on <pyopencl.Device 'Intel(R) HD
Graphics 5500 BroadWell U-Processor GT2' on 'Intel Gen OCL Driver' at
0x7f60e0d24bc0>>
make: 'test/eigen/generated/test_cuda_nullary-device.cl' is up to date.
compiling cl for test/eigen/generated/test_cuda_nullary-device.cl ...
ASSERTION FAILED: (isa<AllocaInst>(ptr) || ptrCandidate.empty()) &&
"storing/loading pointers only support private array"
at file /home/ubuntu/git/beignet/backend/src/llvm/llvm_gen_backend.cpp,
function void gbe::GenWriter::findPointerEscape(llvm::Value*,
std::set<llvm::Value*>&, bool, std::vector<llvm::Value*,
std::allocator<llvm::Value*> >&), line 953
Trace/breakpoint trap
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/beignet/attachments/20161010/dde93deb/attachment.html>
More information about the Beignet
mailing list