うむむ

Cellプロセッサ使えません。
そりゃPS3も売れないよ!

今の仕事になってから半年以上。
結局、見解はかわりません(苦笑)

頭の体操とかオモチャには良いのかもしれないけど
仕事で使う分には単なるエンジニア泣かせです。


CPUのクロック数にも限界が見えた昨今、
コンピュータ屋さんの間では
マルチコアマルチコアと呪文の如く言われまして
ハードとそれを使うためのソフトもせっせと開発しているのです。

PS3とか某T芝さんの家電に使われてるCellも、そんなCPUの一つ。
当初は、スパコン並みの演算能力だのなんだのと謳われて
チヤホヤされていましたが、これがスパコンどころか
非常に使えない困ったチャンなのだ・・・。

複数個(PS3の場合は6個)ある
ほぼベクタ演算に特化したちっこいコア(SPU)と
制御用(っていうか単に外界との窓口)に普通のCPU(PPU)が1個。

それぞれのメモリは物理的にも論理的にも独立。
コアの動作もプログラムも独立。
PPUのメモリはSPUの共有メモリとしても使用。
SPU間、SPU-PPU間の通信はバス通信で。

パフォーマンスを出すために、
そこらへんのハードウェア構造は敢えてラップせず
プログラマに直書きさせようという設計方針。

SPUのメモリは256KBと今時えらい狭苦しいので
頻繁に共有メモリへのアクセスが発生。
これがまた重かったり競合したり書くのが面倒。
なんといってもスケジューリングが大変。

結局、人間の頭で考えてガリガリと書くんじゃ無理がある。
(アレ、本末転倒・・・)

そんなわけでCellに限定しないで、
マルチコア用の開発環境作ろうというのが趣旨なのだけど、
それを動かす実機としてCellを使ってるわけですが
これがねえ・・・。

本質的な問題よりもCellにイライラさせられる時間の方が
遥かに多いというなにやら不毛な毎日です。

と、オチもないので、グチでゴメンだけど、おしまい。

コメント

  1. Kami より:

    ほほう、cellがPPUとSPUでベクタ演算してバス通信するわけですな(意味不明)
    ぼんやりとしたイメージしか分からないよ・・・。
    とりあえず、自分がエンジニアには向かないことはよく分かった。(笑)

  2. たまご より:

    >kamiさん
    そうです。
    PPUとSPUでベクタ演算してバス通信するわけです。当たってます(笑)
    サーバーと複数のPC(と仕事する人)がいてデータをアップロードしたりダウンロードして受け渡しながら
    共同作業するような感じですかね。
    私も、ハードウェア超弱いです・・・。

タイトルとURLをコピーしました