Composer Überblick

(http://www.zdnet.de/magazin/41001317/composer-ueberblick.htm)

von Mark Legan, 5. März 2009

Ein fünf Minuten langer Überblick über die auf hoher Ebene angelegten Features des Intel Parallel Composers, der Bestandteil des Intel Parallel Studios ist und der Compiler und Bibliotheken zur Verfügung stellt, die bei der Implementierung eines Parallelprogramms nützlich sind.

Sehen wir uns also den Intel Parallel Composer an, der Bestandteil des Intel Parallel Studios ist und uns die Compiler und Bibliotheken liefert, die zur Implementierung eines Parallelprogramms nützlich sind. Wir haben hier ein Visual Studio 2008. Wir unterstützen natürlich auch Visual Studio 2005 und 2008. Sie sehen also, wir sind voll integriert. Sehen wir uns zu Beginn die „Hilfe“ an. Die gesamte Hilfe für das Intel Parallel Studio ist eine integrierte individuelle Studiohilfe und wir können hier alle Top-Informationen über alle Funktionen aufrufen, die im Parallel Composer eingebaut sind. Es gibt einige Grundvoraussetzungen zur Anwendung des Parallel Composeres, wie die neuesten C++ Erweiterungen, wie beispielsweise Lamda, das zum Einsatz bei Threading Building Blocks sehr nützlich ist. Wir haben neue Keywörter wie task und taskcomplete. Wir haben Unterstützung für OpenMP und Unterstützung für asynchrones I/O Auto-Parallisierung und Auto-Vektorisierung.Wenn man hier klickt, erhält man parallele Debugger Erweiterungen, eine Reihe nützlicher Features zum Debuggen und eine parallele Anwendung kann damit zum Debuggen offen gelegt werden, Diese Debugger Erweiterungen wurden im Intel Parallel Composer zum Ansehen von Dingen wie Threaddaten-Sharing erstellt. Kann eine große Hilfe sein, wenn man sehen möchte, ob ein gemeinsamer wechselseitiger Status richtig bedient wird. Auch, ob Sie genügend Locks in Ihrem Programm haben. Kann auch Wiedereintritt von Funktionscalls überprüfen. Es besteht die Möglichkeit, parallele Funktionen zu serialisieren, um deterministisches Debugging zu unterstützen. Es gibt auch ein Ansichtstool für SIMD Register, das sehr nützlich sein kann. Natürlich arbeiten diese Funktionalitäten sowohl wenn Ihre Programme parallel sind als auch nicht. Einige sind auch dann sehr nützlich, wenn Sie keine Parallelen in Ihre Programme einbauen. Wir sehen hier, dass die Intel Integrated Performance Primitives, IPP, gleichfalls in das Parallel Studio einbezogen sind. Und wir können hier leicht einen Konfigurationsdialog zum Ein- und Abschalten der Nutzung, oder zur Verlinkung dieser Bibliothek zu Ihrer Anwendung erstellen. Betrachten wir uns also die anderen Wege, in denen der Parallel Composer in das Microsoft Visual Studio integriert ist. Wir haben auch hier wieder ein Visual Studio 2008 installiert, der Parallel Composer ist bereits als Bestandteil des Intel Parallel Studios installiert. Für den Beginn ziehen wir einige Informationen auf den Parallel Composer. Sehen wir uns also Aufbau und Anwendungen unter Verwendung des Intel Parallel Composer an. In diesem Fall sehen wir uns eins unserer Lieblingsbeispiele aus aus den mit dem Compiler mitgelieferten Beispielprogrammen an, das N-Queens Beispiel. In diesem Fall rufen wir die OpenMP Version auf. Wie Sie sehen, nutzen wir die OpenMP 3.0 Direktiven aus, um die Task-Parallelität zu ermöglichen. Wir fahren also über das Projekt, klicken rechts darauf und wählen „Intel C++ Compiler verwenden“. So erhalten wir Unterstützung für die neuesten und besten OpenMP 3.0 Features. Wir können jetzt mit dem Intel C++ Compiler und dem Microsoft Compiler sehr einfach nach vorn und nach hinten bewegen und genauso einfach zurückgehen, wie Sie es bewegen können. Sie sehen jetzt, wie der C++ Compiler einige Projektdateien einrichtet. In den Microsoft Projektdateien ereignet sich eigentlich nichts oder wird geändert. Der Compiler kann dies sozusagen parallel zu diesen durchführen. Es gehen keine Informationen verloren oder werden dahingehend geändert, dass die Möglichkeiten Ihrer Projekte mit dem Microsoft Compiler oder den Microsoft Tools eingeschränkt würden. Wir können Visual Studio also soweit erweitern, dass es mit unserem Compiler so kompatibel eingesetzt werden kann, dass keine nachteiligen Effekte entstehen. Als Letztes möchte ich Ihnen noch zeigen, wie Sie durch Rechtsklick auf ein Projekt seine Eigenschaften und einige Intel-spezifischen Einstellungen aufrufen und konfigurieren können. Sie können beispielsweise den Debugger konfigurieren. Sie können hier auswählen und wählen, dass die Intel Debugger Erweiterungen aktiviert werden sollen. Sie können auch generelle Optimierungseinstellungen ändern, auch, ob die Auto-Parallisierung durchgeführt werden soll. Sie können auch Optimierungen wählen, mit denen Sie multiple Codepfade verwenden können, um spezielle Anweisungen für verschiedene Prozessoren zu erstellen, oder Anweisungen, die auf multiplen Prozessoren laufen. Letztendlich können Sie unter Spracheinstellungen auch wählen, ob Sie OpenMP verwenden möchten, was in dieser Anwendung, die wir verwenden bereits eingestellt ist. Unter Diagnostik können wir verschiedene Kontrollebenen der Quelle, verschiedene Ebenen zur Codeanalyse, einschl. Parallelanalyse und Bedingungen zur Speichernutzung festlegen, die wir statistisch für den Compiler bestimmen. Dies war also ein kurzer Rundgang durch einige der hochrangigen Features des Intel Parallel Composer. Sie können mehr über den Intel Parallel Composer und das Intel Parallel Studio unter intel.com/go/parallel erfahren.