2009-01-22 61 views
15

我有興趣爲Sony PlayStation 3控制檯開發軟件,該控制檯包含一個多核心Cell處理器,面向任何PS3-compatible Linux分配。爲PlayStation 3 Linux開發

「A單一PS3執行更好比最高端的桌面提供和進行比較,以多達25個節點的IBM藍色基因超級計算機」。PlayStation3 Gravity Grid

最重要的是:

  1. CPU - 7 Synergistic Processing Elements
  2. GPU的任何Linux OS has access to 6 - 索尼實現了虛擬機管理程序限制進入RSX
  3. 並行 - IBM提供introduction to programming parallel applications在PS3上

所以上手:

  1. 安裝Linux on the PS3
  2. 獲得一個適用於該Linux的編譯器的IDE。 。(幫助!)
+0

您正在考慮開發哪種軟件? – 2009-01-22 01:03:55

回答

2

您可能想試試Codeplay Software的Offload C++。它提供了一個擴展的C++ ++語言處理器多核硬件軟件開發方言。

交叉編譯器工具鏈允許在Windows上編譯PS3的代碼,考慮到運行Linux的PS3控制檯上的資源約束(例如系統內存),這可能會影響編譯時間並使用PS3作爲桌面尷尬。

Offload C++編譯器和工具的版本針對帶有Cell BE SDK的PS3 GameOS和Linux on Cell提供。 Cell Linux版本與用於IDE的Eclipse CDT集成。

聲明:我是Codeplay的開發人員。

4

你也可以試試Ubuntu 8。10(Intrepid Ibex)。他們的PS3支持相當不錯,安裝說明和彙編上的粗略入門可以在here找到。 GCC 4.3和binutils 4.18包含了Cell PPU(通用PowerPC目標)和SPU的目標,並且在Ubuntu存儲庫中有可用的軟件包(例如spu-gcc,spu-g ++,spu-binutils,ppu-gdb,spu-newlib等),它會爲你編譯二進制文件。

至於適當的IDE,上述用途應結合罰款與任何IDE(如KDevelop的是,Eclipse CDT,代碼::塊),只要你能找到(僅適用於最流行的IDE)語法高亮文件。 Cell SDK也可用,並且可能提供更好的集成,並且軟件包可用於RHEL 5.2和Fedora 9(應該能夠使用外部版本將這些文件拖入Debian/Ubuntu,但不確定)。

OpenMPI是一個好主意,他們已經能夠編譯它基於單元的刀片(here),所以我不認爲這應該是一個問題。你也可以自己傳遞消息,因爲低開銷是提取Cell良好性能的關鍵(雖然我不知道OpenMPI的適用性如何,但它可能很棒)。

2

Matthew Scarpino的書,編程細胞處理器,是相當新的和有很多好的信息。此外,website for the book有很多示例代碼可供下載。

通過Cell處理器的並行編程還有一個MIT course,它有一些很好的信息,儘管它有些已經過時了,也就是說,它使用libspe提供自己線程的舊細胞機制。使用最新版本的庫,您需要從其他位置獲取線程(pthreads,boost,以及其他),以便運行並行程序。

至於OS和編譯器,我一直在使用Yellow Dog Linux 6.1。 YDL到現在爲止工作得非常好,無論如何都比Fedora 9好得多,儘管這可能是由於YDL帶有超輕量級窗口管理器而Fedora 9沒有。我有一些與網絡有關的問題,但這些很可能是我有系統設置的略有離奇的網絡環境的產品。

一旦我有YDL啓動並運行,然後我安裝了單元sdk fedora軟件包(這需要一點工作,因爲cellsdk安裝腳本錯誤地將YDL識別爲RHEL,而不是Fedora)。 YDL確實在他們的一個軟件包倉庫中提供了大部分SDK,但默認情況下,安裝的並不是很多,只是編譯器(當然,直到我已經破解了IBM安裝程序來執行正確的事)。我只是使用基本的IBM編譯器(不是XL的東西)。

還有大量的信息分散在IBM site的周圍,但它可能有點難以理解。

1

在特殊設計的SPE上運行代碼時要小心 - 編譯器和編譯器的默認堆棧大小差別很大,並且在溢出時會導致各種問題。在SPE代碼中全局聲明大部分數據通常是一種很好的做法,並且避免除非常小的變量分配之外的堆棧。由於沒有緩存(或者說......它的所有L2緩存,在某種意義上),所以這樣做並沒有真正的性能損失,並且你永遠不會遇到像試圖從內存中DMA數據或從內存中DMA數據那樣的問題地址不再有效等。

IBM SPE編譯器通常被認爲是最好的afaik,儘管我個人從未使用它。