HPC, Fortran und Brandschutz - Teil 1

Die letzten zwei Tage habe ich bei hhpberlin verbracht, einer großen Brandschutz-Ingenieurfirma in Berlin (mit Büros in anderen Städten). Hhpberlin hat von Microsoft nahezu die gesamte Produktivitätspalette im Einsatz - SharePoint, Unified Communication, Office 2007, Dynamics,... Nur ein Bereich ist derzeit noch auf Linux-Basis: Das High Performance Computing.

Was macht eine Brandschutzfirma mit einem Rechencluster? Nun, Brandsimulationen natürlich. Größtenteils auf der Basis des Open Source Projekts FDS-SMV (Fire Dynamics Simulator-Smokeview), der beim NIST in den USA entwickelt wurde und hier bei hhpberlin in Zusammenarbeit mit der Community und der Uni Dortmund weiterentwickelt wird. Außerdem wird auch Ansys CFX verwendet.

image

FDS ist Fortran 90 Code, mit einer C++ Library zur Ein- und Ausgabe (das wird später noch mal wichtig).

Und was habe ich jetzt damit zu tun? Vor einigen Monaten kam die Anfrage von hhpberlin, ob ich nicht bei der Portierung des Rechenclusters auf Windows HPC Server 2008 helfen könnte. Ich kann, und habe daraus gleich ein Projekt im Rahmen unserer Open Source Förderungsinitiative gemacht, bei dem Microsoft die Portierung und Weiterentwicklung von Open Source Anwendungen auf Windows fördert.

Eigentlich wollte ich nur den Infrastrukturteil - das Aufsetzen und den Betrieb des HPC Clusters - machen, den Entwicklungsteil sollte Bernd Marquardt übernehmen, der schon einige Erfahrung in der Portierung von Fortran-Code hat. Nur leider gab es ein paar Verzögerungen, und dann konnte Bernd nicht mehr. Dadurch durfte ich mich jetzt auch mit der Entwicklungsumgebung beschäftigen. Und - ich kann kein Fortran. Aber wie man sehen wird ist das bei grundlegenden Visual Studio und Programmierkenntnissen kein wirkliches Problem. Es geht ja nur darum, für jemanden, der Fortran kann eine Entwicklungsumgebung bereitzustellen.

Ich möchte jetzt in einer losen Artikelserie meine gesammelten Erfahrungen weitergeben. Dabei will ich vor allem die noch frischen Probleme und ihre Lösungen beschreiben, es wird also ein wenig ungeordnet.

Für den Anfang: Die Umgebung

  • 4* Dell 1950 Server
  • Windows Server 2008 Standard
  • Windows HPC Pack RC1 und HPC Pack SDK RC1
  • Visual Studio 2008 Professional (Professional wegen des MPI Clusterdebuggers)
  • Intel Fortran 10.1
  • FDS 5 Quellcode

Gruß,
Steffen