Gewusst wie: Konfigurieren und Starten des MPI-Clusterdebuggers
Mithilfe des MPI-Clusterdebuggers können Sie parallele Anwendungen debuggen, die auf einem Windows HPC-Servercluster ausgeführt werden und die über Message Passing Interface (MPI) kommunizieren. In Visual Studio können Sie den Clusterhauptknoten auswählen und die Anzahl der in die Debugsitzung einzuschließenden Prozesse angeben. Darüber hinaus können Sie erweiterte Eigenschaften für die Clusterdebugsitzung konfigurieren und anschließend den Debugger starten.
Anforderungen für die Verwendung des MPI-Clusterdebuggers
Es muss Visual Studio 2010 Professional Edition oder höher (einschließlich Remotedebugger) auf dem Entwicklungscomputer installiert sein.
Sie müssen Administratorrechte für das Cluster besitzen.
Visual Studio muss auf die Berechnungsknoten zugreifen können, auf denen Sie die Debugsitzung ausführen möchten. Die folgenden Szenarios bieten den erforderlichen Zugriff:
Sie entwickeln Ihre Anwendung auf dem Cluster-Hauptknoten oder auf einem dedizierten Anmeldeknoten.
Sie verwenden einen Cluster, bei dem die Berechnungsknoten mit dem Unternehmensnetzwerk (Topologie 2, 4 oder 5) verbunden sind, und der Entwicklungscomputer ist mit derselben Domäne verbunden oder mit einer Domäne, die eine Vertrauensstellung mit der Clusterdomäne hat.
Um die Anwendung von einem Clientcomputer an einen HPC-Cluster zu senden, muss Microsoft HPC Pack 2008 installiert sein.
Zum Erstellen von MPI-Programmen mithilfe von Microsoft Message Passing Interface muss Windows HPC Server 2008 SDK auf dem Entwicklungscomputer installiert sein.
So konfigurieren Sie den MPI-Clusterdebugger
Öffnen Sie in Visual Studio die Projektmappe mit der parallelen Anwendung.
Klicken Sie im Menü Projekt auf <IhrProjektname> Eigenschaften. Das Dialogfeld Eigenschaftenseiten wird geöffnet.
Erweitern Sie den Knoten Konfigurationseigenschaften, und wählen Sie Debuggen.
Unter Zu startender Debugger: wählen Sie MPI-Clusterdebugger.
Wählen Sie die Knoten und die Anzahl der Prozesse aus, die für das Debuggen verwendet werden sollen.
Wählen Sie in Umgebung ausführen aus der Dropdown-Liste HPC-Knoten bearbeiten. Das Dialogfeld Knotenauswahl wird geöffnet.
Wählen Sie in der Dropdownliste Hauptknoten den Namen für den Hauptknoten aus. Wenn Ihr Hauptknoten nicht angezeigt wird, geben Sie den Namen oder die IPv4-Adresse des Hauptknotens ein.
Wählen Sie in Anzahl der Prozesse die Anzahl der zu startenden Prozesse aus.
Wählen Sie unter Prozess planen: einen je aus, wie die Prozesse zugeordnet werden sollen. Sie können einen Prozess je Core, Socket oder Knoten zuordnen.
Optional können Sie in Knoten auswählen aus die Knotengruppe angeben, für die die Debugsitzung ausgeführt werden soll. Die Knoten in der ausgewählten Gruppe werden in der Knotenliste angezeigt.
Wenn Sie bestimmte Knoten anfordern möchten, können Sie Knoten für die Zuordnung manuell auswählen aktivieren und dann einzelne Knoten in der Liste auswählen.
Klicken Sie auf OK, um die Änderungen zu speichern und das Dialogfeld Knotenauswahl zu schließen.
Konfigurieren Sie die folgenden Eigenschaften:
Bereitstellungsverzeichnis:
Geben Sie den Namen eines Bereitstellungsverzeichnisses an. In dieses Verzeichnis werden die Projektausgabedateien beim Starten des Debuggers kopiert. Dabei sollte es sich um eine freigegebene Netzwerkressource handeln, z. B.:
\\myTestCluster\CcpSpoolDir\$(UserName)\$(ProjectName)
Arbeitsverzeichnis:
Geben Sie auf jedem Berechnungsknoten ein lokales Arbeitsverzeichnis an. Die Dateien aus dem Bereitstellungsverzeichnis werden in die Arbeitsverzeichnisse auf den Berechnungsknoten kopiert.
Anwendungsbefehl:
Geben Sie den Namen oder den Pfad der Anwendung an, die MPI auf den einzelnen Clusterknoten ausführen wird (dabei handelt es sich um die Anwendung, die Sie in Visual Studio debuggen). Bei dem Pfad kann es sich um eine freigegebene Ressource oder um einen lokalen Pfad auf jedem Berechnungsknoten im Cluster handeln. Wenn es sich um einen lokalen Pfad handelt, muss dieser auf jedem Knoten identisch sein, z. B.:
$(WorkDir)\$(TargetFileName)
CRT bereitstellen:
Klicken Sie auf Ja, damit Visual Studio die C-Runtime (CRT)-Assemblys mit der Anwendung bereitstellt.
Wenn die Multithreaddebug-DLLs statisch verknüpft sind, müssen Sie keine CRT-Dateien bereitstellen. Sind die Multithreaddebug-DLLs dynamisch verknüpft, müssen Sie die CRT-Dateien bereitstellen.
Bereitstellungsverzeichnis löschen:
Klicken Sie auf Ja.
Tipp
Wenn das Bereitstellungsverzeichnis außer den von Visual Studio dort gespeicherten Dateien weitere Dateien enthält, wird es nicht gelöscht. Wenn Ihre Anwendung zum Beispiel Ausgaben in das Bereitstellungsverzeichnis erzeugt, sollten Sie ein Skript nach dem Debuggen verwenden, um das Verzeichnis zu löschen.
Klicken Sie auf OK, um Änderungen zu speichern und die Eigenschaftenseiten zu schließen.
Tipp
Beim Debuggen mehrerer Prozesse betrifft ein Haltepunkt standardmäßig alle Prozesse, für die das Debuggen durchgeführt wird. Deaktivieren Sie die Option Alle Prozesse anhalten, wenn ein Prozess anhält, um das Anhalten von Prozessen an unbeabsichtigten Stellen zu vermeiden. Weitere Informationen zum Ändern des Anhalteverhaltens finden Sie unter Gewusst wie: Ausführung unterbrechen.
So starten Sie den MPI-Clusterdebugger
Legen Sie einen oder mehrere Haltepunkte im Code fest. Weitere Informationen zum Festlegen von Haltepunkten finden Sie unter Haltepunkte und Ablaufverfolgungspunkte.
Drücken Sie F5, um den Debugger zu starten.
Tipp
Im MPI-Clusterdebugger können Sie nicht ohne Debugging starten. Auch bei Verwendung der Tastenkombination STRG+F5 (oder der Option Starten ohne Debuggen aus dem Menü Debuggen) wird das Debuggen gestartet.
Da Sie einen Auftrag an den Cluster senden, werden Sie zur Eingabe Ihres Kennworts aufgefordert, um eine Verbindung zum Cluster herzustellen. Geben Sie das Kennwort ein, und drücken Sie die EINGABETASTE.
Nachdem Sie den Debugger gestartet haben, überprüfen Sie im Fenster Prozesse die Platzierung der Prozesse. Überprüfen Sie bei jedem Prozess die Spalte Transportqualifizierer, um den Berechnungsknoten zu sehen, auf dem der Prozess ausgeführt wird.
Tipp
Nach dem Starten des Debuggers können Sie den aktiven Prozess festlegen, den Sie debuggen möchten, indem Sie im Fenster Prozesse auf einen Prozess doppelklicken. Um das Fenster Prozesse zu öffnen, klicken Sie im Menü Debuggen auf Fenster und dann auf Prozesse.
Siehe auch
Konzepte
Konfigurationseigenschaften für den MPI-Clusterdebugger
Exemplarische Vorgehensweise: Starten des MPI-Clusterdebuggers in Visual Studio 2010
Debuggen von MPI-Anwendungen auf einem HPC-Cluster