Parallella Fan!
Home記事一覧BBS

Parallellaで出来ること

現時点で公開されているParallellaのサンプル・プログラムの中からピックアップして紹介します。

リアルタイム・レイトレーシングのサンプル

CPUだけの処理ではカクカクですが、16コアEpiphanyでアクセラレートしたバージョンは滑らかに動いています。このビデオでは小さな画面に表示されていますが、その後アップデートされて全画面表示になっています。全画面でも滑らかです。

ソースコード

マンデルブロ集合の描画のサンプル

並列処理に使用するコア数を変えてマンデルブロ集合の計算速度を比較したビデオです。コアを増やせば増やすほど、ほぼリニアに性能が向上していることが分かります。これも現在は全画面表示に改良されています。

ソースコード

aobench(アンビエント・オクルージョン)のサンプル

アンビエント・オクルージョン(レイトレ)もリアルタイムで動いています!

ソースコード

Raspberry Piを外部GPUとして使う

ParallellaにはGPUは搭載されていませんが、Raspberry Piをネットワーク経由で接続して外部GPUとして使うことができています。Parallella側からは通常のOpenGL ES2.0のインターフェースでプログラミングできるようです。

ソースコード

Kinectの使用

USBでXBOX 360用のKinectカメラを接続して深度センサの出力をしているビデオです。Epiphanyを1コアのみ使用してカラーリングと全画面の拡大表示の処理をしているようです。つまり残り15コアは画像認識や画像処理に使用できる余力があるということです。

ソースコード

John the Ripper(暗号解読ベンチマーク)

Solar Designer @solardiz
Katja Malvoni got 4812 c/s for bcrypt $2a$05 on @adapteva's E64 600 MHz 2W (~5W board?) http://www.openwall.com/lists/john-dev/2013/11/12/1 http://www.adapteva.com/epiphanyiv/

https://twitter.com/solardiz/status/400349687787831296

Solar Designer @solardiz
To compare: E64 2W - 4812 c/s; Core i7-2600 95W TDP - 4800 c/s; Core i7-4770K 84W TDP - 6600 c/s; Radeon HD 7970 - ~4000 c/s. Stock clocks.

https://twitter.com/solardiz/status/400352780113948673

ベンチマーク結果によると、64コア版EpiphanyはCore i7-2600の47倍、Core i7-4770Kの30倍、Radeon HD 7970の60倍の電力効率を達成しています。
(電力効率とは、単位電力あたりの性能の高さを表します。つまり、電力効率が良いということは、少ない電力で高性能を出せる、逆に言えば1基のスーパーコンピューターでより高い性能を実現できるということです。)

計算方法
プロセッサ     性能/電力    電力効率比
Epiphany64     4812/2=2406  1
Core i7-2600   4800/95=50.5 1/47.6
Core i7-4770K  6600/84=78.5 1/30.6
Radeon HD 7970 4000/100=40  1/60.15
(Radeon HD 7970のTDPは本来250Wですが、bcrypt実行時には100W以下ということです。)
(現在64コア版Parallellaは一般販売されていません。16コア版の性能は大体1/4と考えてください)

ソースコード

ロボットカメラのコントロール

Parallellaはボードコンピューターなので組み込み機器の開発にも応用できます。この例ではParallellaのGPIOを使用してカメラをモーターコントロールしています。

Windowsも動く

Windows Compact 7が動作しています。これはDAB-Embeddedという会社が開発しています。

FPGAの開発もできる

ParallellaにはホストプロセッサとしてXilinx社のZynq-z70x0というチップが使われています。これは、ARM Cortex A9プロセッサとFPGAを搭載したSoC(System on Chip)です。FPGA(field-programmable gate array)とは、ソフトウェアのように柔軟にユーザーが回路を再構成できるハードウェアです。プログラミング言語のようなハードウェア記述言語(HDL)を使って、チップ上に任意の回路を作り出すことができます。そのため、Epiphanyプロセッサを使った開発だけでなくFPGAを使って様々なデバイスを制御したり、スキル次第では独自のプロセッサをParallella上に実装するといったことも可能です。(もちろんARMコアで動くLinuxやEpiphanyの演算能力を同時に活用して連携させることも可能です)

上記の情報はYouTubeやParallella Communityウェブサイトなどで公開されている情報を基にしたものです。出典元の著作物の権利は、その原著作権者に帰属します。