突っ込みどころが多すぎてどこから突っ込んで良いか逆に迷う、本日の後藤の主観記事
http://pc.watch.impress.co.jp/docs/2009/0305/kaigai493.htm > Cell B.E.は、4-wideの短いベクタエンジンを実装しながら、スカラ命令も実行できる、
> 汎用性の高いCPUコア「SPU(Synergistic Processor Unit)」を採用した。ストリームプロセッシングでは
> 有効ではないキャッシュアーキテクチャは取らず、各CPUコアのメモリ空間はそれぞれ独立している。
スカラ命令が実行できる?
基本SIMD命令しかサポートしてなくて、プリファードスロット(ベクトルの第1要素)をスカラと
見なしてやるしかないんだけど
> Cell B.E.と比べると、Larrabeeの方がよりデータ並列に振っている。
> ベクタを長くしてデータ並列を強めると、コントロールフローのムダが大きくなる。
【また】やっちまったなwww
受け売りだけやってればいいのに><
x86でXMMレジスタ上で浮動小数を扱う場合、たとえば単精度のスカラ加算を行うとする。
128bit等速のSIMDユニットを搭載してる最近のCPUではaddssでもaddpsでも同一レイテンシ・
スループットなのでどっちでもいいのだが、前者はプリファードな32bitのみ作用する。
最近のIntel CPUは、スカラ演算命令を処理する場合、残った96ビット分の捨てデータ分は供給を止めて
電力カットするような最適化をやってます。
65nmのCore MAあたりで既に実装されてた機構ですが、より消費電力重視のAtomでは言わずもがな、です。
その点でいくと128ビットSIMDとは別個にスカラ専用の同等命令を備えないCellのほうが分が悪いわけです。
ベクトル長のことを言い出したら、GeForce 8以降は1024ビットのSIMD相当(32 Thread/SM)なわけで、
「ベターGPGPU」として使う分には512ビットって別に長くもないわけですが。
CPU用にはもっと並列度の低いSIMDで十分だって言うなら、別にLarrabeeじゃないIntelプロセッサだって
いいわけで、Core MAでも良いのでは?
GPUだと言ったりCPUだと言ったり大変ですな。Cellはどっちにも使えませんが。