Skip to content
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
35 lines (27 sloc) 1.51 KB
Most pocl basic tests run successfully in a PPC32 userland. When compiling
in "LLVM API mode", i.e. with --enable-llvmapi passed to confiure (note, this
is the default now), an issue with linking occurred: LLVM assumes on PPC that
the linker is able to generate branch islands, so there is no support for them
in LLVM PPC codegen. GNU BFD ld does not support them on PPC32 (and GNU gold
suffers from an internal error, at the time of writing this), so no linker is
available on most linuxes for PPC32 that would work with pocl. The error shows
itself when loading the compiled kernel .so with "file not found" errors, which
when investigating turn out to be too long jumps from the kernel. When linking in
LLVM lib, libpocl grows just enough that this issue shows with some OCL programs.
Using the scripts to compile kernels (i.e. pass --disable-llvmapi) seems to be
more robust.
LLVM 3.4 does not work on PowerPC, as the address space cast operation
cannot be selected on the PPC backend. Use LLVM 3.3 instead.
status 2012-11-21
All pocl basic tests run successfully on a Debian Sid with PowerPC 64
in a 64 bit userland with LLVM 3.2. Tested using the Cell of PlayStation 3.
Did not yet test the external OpenCL project tests.
to do
- The threshold for wirepl is too large. The PowerPC of the Cell PPU
supports AltiVec which is capable of 4-wide f32 vectorization only.
Thus, a sensible threshold is probably at most 8 or so. This should be
sniffed from the device driver somehow.
You can’t perform that action at this time.