SPEを256倍使い倒すための本 -外伝- ドキドキ!? SpursEngine編

目次

これは何?

この本は,東芝のストリーミング処理向けチップである SpursEngineに搭載されているSPE上で, (Linuxから) SPEプログラムを実行するための方法について解説した技術系同人誌です.

SpursEngineは,内部にH.264とMPEG2に対応したハードウェアコーデックと 4個のSPEを搭載しています. このハードウェアコーデックを利用することで, その辺の普通のPC上でソフトウェア処理した場合に比べて非常に高速に動画をエンコードしたりできるのですが, 本書ではそんな機能は気にせず, ある意味おまけである4個のSPEを利用して, 自分で書いたSPEプログラムを実行するための方法などを中心に延々解説します.

SpursEngineのSPEは,Cell/B.E.のSPEと機能的には同じですが, それを利用するためのSPHA/SPSAと呼ばれる枠組みは,Cell/B.E.上の Linuxで用いているlibspe2やMARSとはだいぶ異なります. また,PPEがなかったり,SPEから参照できるメモリをホストプログラム (Cell/B.E.におけるPPEプログラムに相当する,PC上で動作するプログラム) が透過的にアクセスできなかったりと, ハードウェア的な面でも様々な違いが存在します.

幸か不幸か,オフィシャルのドキュメントやサンプルが非常に微妙なデキなため, 「とりあえずSpursEngineのSPEでプログラムを動かしたいけど, どこから手をつければいいのかわからない!」 という人などに,手頃なガイドとなるのではないかと思います.

本の目次

タイトルからもわかるように,この本も完結編の 『外伝』という扱いから, SpursEngineのSPEに固有の話題を中心とした, 比較的軽めの内容となっています (B5判/96ページ).

目次は以下のようになっています.

なお,今回も表紙は しら「」氏 の趣味全開で,非常に萌え萌えな感じに仕上がっていますが, 中は完結編すごいよ!! MARS編と同様に, ガチガチのてふてふです. くれぐれもお間違えのないよう,よろしくお願いします. 内容の雰囲気は,内容の紹介をご参照ください.

誰得?

こんな人にお勧め・・・かもしれない

なお,目次を見ればわかりますが,この本では, SpursEngineのハードウェアコーデックを利用した動画のエンコード・ デコードの方法や,ジェスチャ認識などの高度な機能といった話は一切扱っていません. この本は「SpursEngineの本」ではなく「SPEの本」ですので, くれぐれもお間違いのないよう,ご注意ください.

また,この本では,Cell/B.E.と共通のSPEプログラムの最適化技術などに関しては 扱っていませんので, その辺については 完結編を参照してください.

入手方法

こちらの頒布情報をご参照ください。

内容の紹介

第2章から第7章までの各章で, どんな感じのことが書かれているのかを簡単に紹介します. 適当に抜き出した章のページの画像もあわせて掲載しますので, 雰囲気を感じ取ってください. なお,繰り返しになりますが, 完結編と同じく,こちらの本も中身は全編通してこんな具合です. (ごく一部の人を除いて) ちっとも萌えない ガチガチのてふてふな本ので,くれぐれもご注意ください.

まず,第2章では, SpursEngineのハードウェアアーキテクチャと, それを利用するためのソフトウェアの構成に関して解説します. 次の第3章では, Linux上でSpursEngineを利用するための環境構築の手順について紹介します.

表紙 ハードウェアアーキテクチャ 環境構築の手順

第4章では,SpursEngine上で, SPHA/SPSAと呼ばれるライブラリを利用して SPEプログラムを実行する際の手順について紹介します. 前半では,SPHA/SPSAでSPEプログラムを実行する際の手順や, そこで用いるAPI関数の詳細などについて解説し, 実際に実行可能なプログラムの例として, Hello Worldを紹介します. また,後半では,SPHA/SPSAでSPEを制御するための様々な API関数を一通り紹介します.

SPEプログラムを動かすまでの流れ Hello World API関数紹介

第5章では, SPHA/SPSAの提供するキューやセマフォといった同期機構について紹介します. また,同期機構を利用した例として, 複数のSPEとホストのスレッドが並列動作する処理の例を示します.

キューなどの紹介 打ち込みがいのあるサンプルプログラム 何故か力の入ったサンプルプログラムの解説

第6章では, SpursEngineのSPEを利用する上で認識しておくべき Cell/B.E.のSPEとの違いについて,ごく簡単に紹介します. そして最後の第7章では,SpursEngineの基本的な性能を色々と評価して, 使用時に性能のボトルネックとなりそうな部分について考察しています. あ,もちろん今回も索引つきです.

性能評価 索引

サポート情報

ソースコード

この本に掲載されているソースコードおよびソースコード片のうち, 筆者オリジナルのものについては修正BSDライセンスに従うものとします.

訂正表

更新情報



nosuke: <sasugaanijaのgmail.com> (ここでいう「の」は「@」みたいなものです)

Copyright© 2003-2012 nosuke All rights reserved.