6. April 2012

Entwicklung - Programmierwerkzeuge für Mehrkern-CPUs

Einkern-CPUs werden immer seltener. Die Programmierung für Mehrkerner erfordert einige Änderungen in Ihren Entwicklungsgewohnheiten. Glücklicherweise gibt es viele starke Programme, die Ihnen bei der Programmierung für Mehrkern-Prozessoren behilflich sind.


Der folgende (eins zu eins kopiert und eingefügte) Beitrag von PCWelt.de stellt diverse unterstützende Programme vor, welche die Entwicklung für mehrere CPU Kerne vereinfachen, beschleunigen und optimieren sollen.


Wir stellen Ihnen zehn Programme vor, die Ihnen beim Umstieg von der Einkern-Programmierung zur Mehrkern-Programmierung helfen können.



1. Intel Parallel Studio

Mit dem Intel Parallel Studio können Visual Studio C/C++-Entwickler die ganzen Vorteile von Mehrkern-Prozessoren ausschöpfen. Das Programmpaket wandelt serielle Anwendungen in Software für Mehrkerner um. Intel Parallel Studio hilft Ihnen bei den Threads, es optimiert den Compiler und die Bibliotheken. Des Weiteren ist es mit einem Speicherfehler- und Thread-Überprüfer ausgestattet.

2. Intel Threading Building Blocks

Das Werkzeug ist eine C++ Template-Bibliothek mit der Sie aufgabenbasierte parallele Anwendungen entwickeln können, die skalierbar sind. Somit können Sie im Bedarfsfall die weiteren Prozessorkerne ausnutzen. Das Programm ist in der Intel Parallel Studio XE (Extreme Edition) enthalten.

3. Microsoft C++ Amp

Mit diesem Programm können C++-Entwickler parallele Anwendungen über heterogene Computing-Umgebungen laufen lassen. Des Weiteren können Sie dank Microsoft C++ Amp die GPUs für die parallele Programmierung ausnutzen.

4. Microsoft Visual Studio 2010 und .Net Framework 4

Microsoft hat diese beiden Programme verbessert, sodass Programmierer nun parallele und simultane Anwendungen schreiben können. Insbesondere wurden Parallel Linq und Task Parallel Library verbessert.
5. Rogue Wave Software ThreadSpotter
Dieses Werkzeug zielt auf die Optimierung des Arbeitsspeichers ab. Es analysiert den Arbeitsspeicher und die Thread-Kommunikation in Mehr- und Ein-Kernsystemen, um Leistungsprobleme aufzufinden und es bietet Ihnen Hilfe bei der Behebung der Probleme an.

6. Rogue Wave Software TotalView

Bei TotalView handelt es sich um eine Sammlung von Debugging-Werkzeugen für C/C++ und Fortan. Es hilft Ihnen dabei Fehler zu finden und zu beheben. Das Werkzeug arbeitet mit kompilierten Anwendungen auf Linux, Unix und Mac OS X.

7. Eclipse Parallel Tools Plattform

Dieses Open Source Projekt soll eine Plattform für Parallele-Anwendungs-Entwicklung werden. Es enthält eine IDE, das mehrere parallele Architekturen unterstützt und einen parallelen Debugger. Die Ellipse Parallel Tools-Plattform unterstützt eine Vielzahl von parallelen Werkzeugen, deren Anzahl Sie sogar noch erweitern können.

8. Oracle Solaris Studio

Dieses Programm ist ein Entwicklungspaket für C, C++ und Fortan, das unter anderem nützliche Analysetools für Anwendungen, die auf Solaris, Oracle Linux und Red Hat Enterprise Linux laufen, enthält. Es bietet auch Multithread-Performance und Compiler-Optimierungen an. Oracle Solaris Studio unterstützt Sarc und x86 CPU Architekturen.

9. IBM Rational Rhapsody Developer

Hierbei handelt es sich um eine Entwicklerumgebung für eingebettete Software-Anwendungen. Es generiert den Code für Mehrkern-Prozessoren und visualisiert Mehrkern-Ausführungen, um Ihnen dabei zu helfen, die Komplexität bei der Programmierung von Mehrkernanwendungen zu reduzieren.

10. Tilera Multicore Development Environment

Das Programm ist eine Mehrkern-Programmierplattform, die Ihnen die Arbeit mit der Tilera Tile Prozessor Architektur vereinfachen soll. Es bietet unter anderem eine grafische Debugging Oberfläche für Mehrkern-Anwendungen an. Es unterstützt die Programmiersprachen Perl, Python, PHP und Erlang.

Paul Krill, PCWelt.de am 05.04.2012, 09:41

2 Kommentare:

Dirk hat gesagt…

Wahnsinn, vielen Dank für den Tollen Blogeintrag!

In Zukunft werden Programmierer sich wohl verstärkt damit auseinander setzen müssen denke ich mal.

Grüße, Dirk

the incredible Leitman hat gesagt…

Ja, das denke ich auch :)

Mittlerweile sind Mehrkern CPU's auf PC's Standard (auf Servern sowieso schon seit Langem) und bald auch in endlich stabilem Zustand in mobilen Endgeräten präsent.

Da führt kein Weg mehr dran vorbei,
und ich denke, vor allem als Entwickler sollte man die Möglichkeit besserer Leistungs- und Energieaufteilung für sich (und für den Kunden!) wirklich nutzen.