Wednesday, January 10, 2007

Moving to Cell SDK 2.0

If you have enjoyed hacking with the Cell SDK 1.1,  it is perhaps time to port your code to the SDK 2.0 and experiment with the new available features. In this and the upcoming posts I will be covering some of the news of the SDK 2.0 as well as some of issues you have to face when porting code from SDK 1.1 to SDK 2.0.

The first thing worth mentioning is that the SDK 2.0 has upgraded to GCC 4.1.1 and XLC 8.1. These compiler should provide better performance than those which were shipped with the SDK 1.1. My first few measurement with GCC confirm this statement.

Beware that there has been some restructuring and cleaning up of the directory structure as well as include path. Thus if you has  some  Makefile, or configuratio file which were relying on the SDK 1.1 structure you'll have to workout some changes.

Another difference that you'll find in the SDK 2.0 is that now it is not necessary any more to explicitely import the libc.a when compiling SPU code. Thus you will have to remove all the  $(SDKLIB_spu)/libc.a that might be contained in the IMPORT variable in your makefile.
 
Beware that  in SDK 2.0 you always have to include  the header cbe_mfc.h  before the header math.h. If you do viceversa you'll see some compilation errors on the function __fabs.