13

PS3 互換の Linux ディストリビューションを対象とした、マルチコア Cell プロセッサを搭載したSony PlayStation 3コンソール用のソフトウェアの開発に興味があります。

「単一の PS3 は、入手可能な最上位のデスクトップよりも優れたパフォーマンスを発揮し、IBM Blue Geneスーパーコンピューターの最大25 ノードに匹敵します。」~ PlayStation3 重力グリッド

最も重要なこと:

  1. CPU - どの Linux OS でも、7 つのSynergistic Processing Elementsのうち6 つにアクセスできます
  2. GPU - ソニーは、 RSXへのアクセスを制限するハイパーバイザーを実装しています
  3. Parallel - IBM は、PS3 での並列アプリケーションのプログラミングについて紹介しています。

始めるには:

  1. PS3 に Linux をインストールします。
  2. その Linux に適したコンパイラを備えた IDE を入手してください。..(ヘルプ!)
4

4 に答える 4

4

Ubuntu 8.10 (Intrepid Ibex) を試すこともできます。彼らの PS3 サポートは非​​常に優れており、インストールの手順とコンパイルに関する大まかな入門書はここにあります。GCC 4.3 と binutils 4.18 には、Cell PPU (一般的な PowerPC ターゲット) と SPU のターゲットが含まれており、Ubuntu リポジトリ (spu-gcc、spu-g++、spu-binutils、ppu-gdb、spu-newlib など) で利用可能なパッケージがあります。など) バイナリをコンパイルします。

適切な IDE である限り、上記のユーティリティは、シンタックス ハイライト ファイル (ほとんどの一般的な IDE で利用可能) を見つけることができる限り、ほぼすべての IDE (つまり、KDevelop、Eclipse CDT、Code::Blocks) とうまく統合する必要があります。Cell SDK も利用可能で、より良い統合を提供する可能性があります。パッケージは RHEL 5.2 と Fedora 9 で利用できます (エイリアンを使用してこれらを Debian/Ubuntu に取り込むことができるはずですが、それについては不明です)。

OpenMPI は素晴らしいアイデアです。Cell ベースのブレード用にコンパイルできたので (こちら)、問題になることはないと思います。また、Cell で優れたパフォーマンスを引き出すにはオーバーヘッドが低いことが重要であるため、独自のメッセージ パッシングをロールすることもできます (OpenMPI がこれにどの程度適しているかはわかりませんが、優れている可能性があります)。

于 2009-01-22T01:22:00.903 に答える
2

Matthew Scarpino の著書Programming the Cell Processorはかなり最新で、多くの優れた情報があります。また、この本の Web サイトには、ダウンロード可能なサンプル コードが多数あります。

また、Cell プロセッサを介した並列プログラミングに関するMIT コースもありましたが、その中には古い情報もありますが、libspe が独自のスレッドを提供していた古いセル機構を使用しています。ライブラリの最新バージョンでは、並列プログラムを実行するために、別の場所 (pthread、boost など) からスレッドを取得する必要があります。

OS とコンパイラに関しては、Yellow Dog Linux 6.1 を使用しています。YDL はこれまでのところかなりうまく機能しており、とにかく Fedora 9 よりもはるかに優れていますが、これはおそらく、YDL には超軽量のウィンドウ マネージャーが付属しており、Fedora 9 には付属していないという事実の結果です。ネットワークに関していくつか問題がありましたが、それらはおそらくシステムをセットアップしたやや奇妙なネットワーク環境の産物です.

YDL を起動して実行したら、cell sdk fedora パッケージをその上にインストールしました (cellsdk インストール スクリプトが YDL を Fedora ではなく RHEL として誤って認識するため、これには少し手間がかかります)。YDL はパッケージリポジトリの 1 つでほとんどの SDK を利用できますが、デフォルトではほとんどインストールされておらず、コンパイラーだけがインストールされています (もちろん、IBM インストーラーをハッキングして、正しいこと)。私は基本的な IBM コンパイラーを使用しているだけです (XL のものではありません)。

また、 IBM サイトには大量の情報が散らばっていますが、理解するのが少し難しい場合があります。

于 2009-03-16T00:33:50.367 に答える
2

Codeplay ソフトウェアからC++ をオフロードしてみてください。Cell プロセッサのようなマルチコア ハードウェアでのソフトウェア開発を容易にする C++ の拡張方言を提供します。

クロス コンパイラ ツールチェーンを使用すると、Windows で PS3 用のコードをコンパイルできます。これは、Linux を実行している PS3 コンソールのリソースの制約 (システム メモリなど) を考えると役立ちます。これは、コンパイル時間に影響を与え、PS3 をデスクトップとして使いにくくする可能性があります。 .

オフロード C++ コンパイラおよびツールのバージョンは、Cell BE SDK を使用して PS3 GameOS および Linux on Cell をターゲットとして利用できます。Cell Linux バージョンは、IDE 用の Eclipse CDT と統合されています。

免責事項: 私は Codeplay の開発者です。

于 2010-02-26T23:41:34.847 に答える
1

特別な設計のSPEでコードを実行する場合は注意が必要です。デフォルトのスタックサイズはコンパイラごとに大きく異なり、オーバーフローするとさまざまな問題が発生する可能性があります。通常、ほとんどのデータをSPEコードでグローバルに宣言し、非常に小さな変数割り当てを除いてスタックを回避することをお勧めします。

キャッシュ(または...ある意味ではすべてのL2キャッシュ)がないため、これを行うことによる実際のパフォーマンスの低下はなく、メモリアドレスとの間でデータをDMAしようとするなどの問題が発生することはありません。より長く有効など。

IBM SPEコンパイラーは、私が個人的に使用したことはありませんが、一般的に最高のafaikと見なされています。

于 2012-01-24T19:32:44.880 に答える