Interprozesskommunikation mit Fortran

Martin von Loewis martin at mira.isdn.cs.tu-berlin.de
Tue May 6 23:31:41 EDT 1997


> Hi, ich moechte mit Python (NumPy) direkt an die Daten in meinem
> numerischen Fortranmodell rangehen koennen. Jetzt am Anfang wuerde es
> reichen, wenn ich nur Daten rausholen koennte, die in dem Modell als
> globale Variablen definiert sind. Ich habe schon mal durch die
> Dokumentation von ILU geschaut, aber dass sieht mir nicht so aus, als
> koennte ich eine C-Routine hinzulinken, und von da aus dann alles
> machen. 

Warum eigentlich nicht? Wenn sich alles in eine von Fortran gerufene
C-Routine packen läßt, kann der eigentliche Datentransport zu Python
über ILU erfolgen.
Eine richtige Fortran-Integration von ILU wäre natürlich noch schicker.

> Meine naive Idee ist im Moment das ganze ueber zwei ``named pipes'' zu
> machen, die eine sagt, das es Daten haben moechte die andere gibt sie
> dann raus, und da steht ein Pythonprozess und wartet. Das Modell
> koennte in der Zeit dann sogar stehen.

Das Problem ist in jedem Fall rauszubekommen, wann eine Anfrage vorliegt.
Wenn ich es recht verstehe, tut das Fortranmodell die ganze Zeit irgendwas,
und sollte nur zur Abfrage angehalten werden. Dann ergibt sich folgendes
Szenario:
- Fortran rechnet
- Python stellt eine Anfrage auf der einen Pipe.
- Fortran rechnet
- Python versucht, die Antwort von der anderen Pipe zu lesen.
- Fortran rechnet
MaW, die Rechnung müßte ab und zu mal nachschauen, ob Anfragen anliegen


More information about the Python-de mailing list