Autoparallelisierender Compiler AESOP veröffentlicht
Das Department Of Electrical And Computer Engineering der University of Maryland hat ihren Compiler namens AESOP veröffentlicht, der selbstständig sequenziellen Code in nebenläufigen verwandelt (Autoparallelizing). AESOP ist als LLVM-Plugin ausgelegt.
Die Entwickler versprechen, dass AESOP nicht nur kleine Codeschnipsel optimiert, sondern sich insbesondere auch für große Projekte eignet. So soll AESOP bereits erfolgreich die Benchmark-Schwergewichte SPEC2006 und OMP2001 übersetzt und parallelisiert haben.
Zur Parallelisierung verwendet AESOP Distanzvektoren, parallel ausführbarer Code landet in einzelnen POSIX-Threads. Getestet ist AESOP vor allem unter Linux auf 32-Bit-Systemen mit x86-Architektur, er soll aber auch auf anderen Systemen funktionieren, auf denen LLCM verfügbar ist.
AESOP dient derzeit als „Drop-In-Replacement“ für Clang, GCC, G++ und GFortran, man muss in entsprechenden bestehenden Projekten lediglich den Programmnamen des Compilers ersetzen. AESOP parallelisiert dabei nicht den eingehenden C-, C++- oder Fortran-Code, sondern den von LLVM erzeugten Zwischencode.
Die Entwickler weisen daraufhin, dass derzeit nur zwei Personen an AESOP arbeiten, das Werkzeug ist zudem noch nicht vollständig praxistauglich und setzt auf das ältere LLVM 3.0 auf. Um an den Quellcode oder Binärdateien von AESOP zu kommen, muss man sich zudem auf der Projekthomepage registrieren und insbesondere einen Grund für den Einsatz angeben. AESOP selbst soll jedoch „freie Software“ bleiben.
Zur genauen Lizenz machen die Entwickler auf ihren Seiten allerdings keine weiteren Angaben. Wer AESOP erst einmal an kleinen Codebeispielen ausprobieren möchte, kann dies mit der bereitgestellten Online-Demo. Die Entwicklung an AESOP hat bereits vor ein paar Jahren begonnen, erste Publikationen stammen aus dem Jahr 2011. Erst jetzt macht die Universtität das Werkzeug der Öffentlichkeit zugänglich.





