Ist LLVM geeignet für parallele Sprachen?
Frage
Was Eigenschaften von LLVM macht es eine gute Wahl für die Umsetzung von (parallel, gleichzeitig, verteilt) -orientierten Sprache, was macht es schlecht?
Lösung
LLVM heißt LLVM (Low Level Virtual Machine) für einen guten Grund. Es ist so low-level, dass Sie nicht auf eine bestimmte Semantik für Ihre Ausgangssprache gebunden sind.
Es gibt einige nützliche Dinge in LLVM, die Zusammenstellung von einigen parallelen Sprachen einfacher macht - zum Beispiel springt auf beliebige Blöcke: http://llvm.org/docs/LangRef.html#blockaddress
Und LLVM implizieren keine besonderen Laufzeiteigenschaften, zwingen keine spezifische Implementierung von GC. Sie können bauen, was Sie auf ihm wollen.
Andere Tipps
Für einige praktische Beispiele in diesem Raum finden Sie unter http://code.google.com/p/ gpuocelot / . Es ermöglicht Cuda-Code auf x86 Multi-Target.