Three versions of the ALF for
Cell
BE libraries are provided with the SDK:
- Optimized: This library has minimal error checking on the SPEs and is
intended for production use.
- Error-check enabled: This version has a lot more error checking
on the SPEs and intended to be used for application development.
- Traced: These are the optimized libraries with performance and debug trace
hooks in them. These are intended for debugging functional and performance
problems associated with ALF. Refer to Performance and debug trace for
more information about performance and debug options for ALF.
Additionally, both static and shared libraries are provided for the ALF
host libraries. The ALF SPE runtime library is only provided as static libraries.
An ALF for
Cell
BE application must be built as two separate binaries as follows:
- The first binary is for the ALF host application, and you need to do the
following:
- Compile the PPE host application. ALF host include
files are located in /usr/include and /usr/include/arch/cell directory.
- Link the PPE host application with the ALF PPE host
runtime library, libalf, found in /usr/lib directory,
the libspe runtime library, libspe2, and the dynamic linking
library libdl.
- The second binary is for the ALF SPE accelerator computational kernel,
and you need to do the following:
- Compile the application's SPE code. The ALF accelerator
header files are located in /usr/spu/include.
- Link the application's SPE code with the ALF SPE accelerator
static runtime library, libalf, found in /usr/spu/lib.
- Use the ppu-embedspu utility to embed the SPU binary
into a PPE ELF image. The resulting PPE ELF object needs to be linked as a
PPE shared library.
For references, Makefiles are provided for all of the samples in the package:
alf-examples-source-3.0.0-*.noarch.rpm