PS3 の Linux を Fedora Core 5 から Fedore 7 に変更して、IBM の Cell SDK 3.0 を導入してみた。目標は Cell BE 用に開発された BLAS である。DGEMM を使おうと思ってみたが、とにかく制限がきつい。
C ← A * B + C
1: A, B, C は 16byte 境界のアラインメントにする。
double A [M * K] __attribute__( (aligned (16)));
とすれば良い。
2: A と C の行数は DGEMM では 2の倍数に限定
3: B と C の列数は DGEMM では 4の倍数に限定
4: A の列数と B の行数は DGEMM では 2の倍数に限定
というわけで、インプリメントが面倒なのでしばらく採用を見送りにする。
C ← A * B + C
1: A, B, C は 16byte 境界のアラインメントにする。
double A [M * K] __attribute__( (aligned (16)));
とすれば良い。
2: A と C の行数は DGEMM では 2の倍数に限定
3: B と C の列数は DGEMM では 4の倍数に限定
4: A の列数と B の行数は DGEMM では 2の倍数に限定
というわけで、インプリメントが面倒なのでしばらく採用を見送りにする。