KaPy:ParallelGameOfLife: Unterschied zwischen den Versionen

aus dem Wiki des Entropia e.V., CCC Karlsruhe
Keine Bearbeitungszusammenfassung
Zeile 5: Zeile 5:


TODO: Notizen nachtragen
TODO: Notizen nachtragen
TODO: Synatx Highlighter
TODO: Synatx Highlighter
TODO: Codebeispiel [https://gist.github.com/2938254]
TODO: Codebeispiel [https://gist.github.com/2938254]


<!-- Was ist MPI?
<!-- Was ist MPI?
Zeile 49: Zeile 52:


IPython ist längst nicht mehr "nur" eine alternative Python Shell, sondern mittlerweile auch ein "tool for high level and interactive parallel computing", wie es auf der Webseite heisst.
IPython ist längst nicht mehr "nur" eine alternative Python Shell, sondern mittlerweile auch ein "tool for high level and interactive parallel computing", wie es auf der Webseite heisst.
* '''Client'''
* '''Engines'''
* '''View'''


=== Game of Life - Implementation ===
=== Game of Life - Implementation ===

Version vom 16. Juni 2012, 14:31 Uhr

15. Juni 2012: IPython + mpi4py = paralleles Game of Life

Timo präsentiert uns eine parallele Implementation des Game of Life, realisiert mit IPython und mpi4py. Das Prinzip: Partitioniere das Spielfeld, ein 2D-Numpy-Array, und verteile es auf mehrere Prozessoren.

TODO: Notizen nachtragen

TODO: Synatx Highlighter

TODO: Codebeispiel [1]


mpi4py

Message Passing Interface (MPI) ist ein Standard, der den Nachrichtenaustausch bei parallelen Berechnungen auf verteilten Computersystemen beschreibt. Eine MPI-Applikation besteht in der Regel aus mehreren miteinander kommunizierenden Prozessen, die alle zu Beginn der Programmausführung parallel gestartet werden. Alle diese Prozesse arbeiten dann gemeinsam an einem Problem und nutzen zum Datenaustausch Nachrichten, welche explizit von einem zum anderen Prozess geschickt werden. Ein Vorteil dieses Prinzips ist es, dass der Nachrichtenaustausch auch über Rechnergrenzen hinweg funktioniert.

mpi4py stellt Python-Bindings für den MPI-Standard zur Verfügung. Die Serialisierung von Objekten übernimmt pickle.

IPython.parallel

IPython ist längst nicht mehr "nur" eine alternative Python Shell, sondern mittlerweile auch ein "tool for high level and interactive parallel computing", wie es auf der Webseite heisst.

  • Client
  • Engines
  • View

Game of Life - Implementation

Lektüre