Frage

Ich bin interessiert Software für Sony PlayStation 3 Konsolen zu entwickeln, die eine enthält Multi-Core-Cell-Prozessor , Targeting jeden PS3-kompatibele Linux Verteilung.

  

"Eine einzige PS3 führt besser als das High-End verfügbaren Desktops und vergleicht, um so viele wie 25 Knoten ein IBM Blue Gene Supercomputer . " ~ PlayStation3 Gravity Grid

Am wichtigsten ist:

  1. CPU - Alle Linux OS hat Zugriff auf 6 der 7 Synergistic Processing Elements
  2. GPU - Sony implementiert einen Hypervisor Zugriff auf die RSX
  3. Parallel - IBM stellt eine Linux auf der PS3 :
  4. Holen Sie sich einen IDE mit einem Compiler geeignet für diese Linux. .. (Hilfe!)
War es hilfreich?

Lösung

Sie können wollen Offload C ++ von Codeplay Software versuchen. Es bietet einen erweiterten Dialekt von C ++ Entwicklung von Software, die auf Multi-Core-Hardware wie der Cell-Prozessor zu erleichtern.

Ein Cross-Compiler Toolchain ermöglicht Kompilierung des Codes für die PS3 auf Windows, die die knappen Ressourcen (zB Systemspeicher) auf einer PS3-Konsole unter Linux nützlich gegeben sein kann, die mal kompilieren auswirken können und die Verwendung eines PS3 machen als ein Desktop umständlich.

Versionen des Offload C ++ Compiler und Tools zur Verfügung, die PS3 GameOS und Linux auf Zelle mit dem Zelltargeting BE SDK. Die Zelle Linux-Version integriert mit Eclipse CDT für eine IDE.

Disclaimer:. Ich bin ein Entwickler bei Codeplay

Andere Tipps

Sie können auch versuchen, Ubuntu 8.10 (Intrepid Ibex). Ihre PS3-Unterstützung ist ziemlich gut, und für den Einbau und eine grobe Grundierung auf Kompilation kann hier . GCC 4.3 und binutils 4,18 umfassen Ziele für die Zell PPU (a generic PowerPC-Ziel) und SPU, und es gibt Pakete in den Ubuntu-Repositories (zB spu-gcc, spu-g ++, spu-binutils, ppu-GDB, spu-newlib , etc), die Binärdateien für Sie kompilieren.

Was eine richtige IDE, sollten die oben genannten Dienstprogramme Fein integrieren mit über jede IDE (das heißt KDevelop, Eclipse-CDT, Code :: Blocks), so lange, wie Sie Syntax-Highlighting-Dateien (für die meisten beliebten IDEs) finden können. The Cell SDK ist ebenfalls verfügbar, und möglicherweise eine bessere Integration bieten könnte, und Pakete sind für RHEL 5.2 und Fedora 9 (sollte verwenden können fremd zu ziehen, diese in Debian / Ubuntu, aber nicht sicher, auf dem).

OpenMPI eine gute Idee ist, sie habe in der Lage gewesen, es für zellbasierte Klingen ( hier ), so soll ich glaube nicht, dass ein Thema sein. Sie können auch Ihre eigene Botschaft vorbei, so niedrig Kopf rollen ist der Schlüssel in auf dem Handy eine gute Leistung zu extrahieren (obwohl ich weiß nicht, wie gut geeignet OpenMPI hierfür ist, könnte es groß sein).

Matthew Scarpino Buch Programmierung des Zellprozessor , ist ziemlich auf dem neuesten Stand und hat eine Menge guter Informationen. Auch die Website für das Buch hat viel zum Download zur Verfügung Beispielcode.

Es gab auch einen MIT Kurs auf parallele Programmierung über den Cell-Prozessor, dass nämlich hat einige gute Informationen, auch wenn einige davon nicht mehr aktuell ist, verwendet es die alte Zellmechanik, wo libspe seine eigenen Threads zur Verfügung gestellt. Mit der neuesten Version der Bibliothek, müssen Sie Ihre Threads bekommen von anderswo (pthreads, auftrieb, was auch immer), um parallel Programme auszuführen.

Wie für OS und Compiler, ich habe 6.1 Yellow Dog Linux im Einsatz. YDL hat ziemlich gut so weit ausgearbeitet, viel besser als Fedora 9 sowieso, aber das ist wahrscheinlich eine Folge der Tatsache ist, dass YDL kommt mit einem superleichten Window-Manager und Fedora 9 nicht. Ich hatte ein paar Probleme mit dem Netzwerk, aber diejenigen, die am ehesten ein Produkt der leicht bizarren Netzwerkumgebung, die ich das System in eingerichtet habe.

Nachdem ich YDL musste und ausgeführt wird, installierte ich dann die Zelle sdk Filzhut Pakete oben auf (das dauert ein wenig Arbeit, da die cellsdk Installationsskript erkennt fälschlicherweise YDL wie RHEL, nicht Fedora). YDL hat den größten Teil des SDK in einem ihrer Paket repos zur Verfügung haben, aber standardmäßig nicht viel davon installiert ist, nur die Compiler (natürlich habe ich nicht herausfinden, bis ich bereits den IBM-Installer gehackt das zu tun das Richtige). Ich verwende nur die grundlegenden IBM-Compiler (nicht die XL Sachen).

Es gibt auch eine Unmenge an Informationen verstreut rund um die IBM Website , aber es kann ein wenig schwierig sein, einen Sinn zu geben.

Seien Sie aufmerksam, wenn der Code ausgeführt wird auf die SPEs ihrer besonderen Design - die Standard-Stack-Größe weit von Compiler variiert, Compiler und alle möglichen Probleme verursachen können, wenn Sie überfluten. Es ist in der Regel eine gute Praxis, die meisten Daten global in SPE-Code zu erklären, und vermeiden Sie den Stapel bis auf sehr kleine variable Zuweisungen.

Da gibt es keinen Cache (oder ... seine all L2-Cache, in einem gewissen Sinne), gibt es keine wirkliche Leistungseinbuße, dies zu tun, und Sie werden nie an dem DMA-Daten wie der Versuch, zu oder von einer Speicheradresse auf Probleme stoßen das ist nicht mehr gültig, etc.

Der IBM SPE-Compiler ist in der Regel die besten, afaik, obwohl ich es nie benutzt haben, persönlich.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top