Programmiersprachen Intel gibt Multicore-Spracherweiterung Cilk Plus frei

Redakteur: Franz Graser

Mit Cilk Plus können Programmierer selbst deklarieren, welche Teile eines Programms vom Rechner parallel abgearbeitet werden sollen. Die Spracherweiterung für C und C++ wurde nun von Intel offengelegt.

Firmen zum Thema

Die Programmierung von Multicore-Prozessoren (hier ein Core i7 von Intel) wird durch Cilk sehr erleichtert. (Intel)
Die Programmierung von Multicore-Prozessoren (hier ein Core i7 von Intel) wird durch Cilk sehr erleichtert. (Intel)

Cilk war ursprünglich eine am MIT entwickelte Programmiersprache, die von vornherein auf paralleles Computing ausgelegt war.

Das Prinzip der Sprache ist sehr einfach und einleuchtend: Der Entwickler deklariert in seinem Code durch die Schlüsselwörter spawn und sync, wo der Code in unterschiedliche Threads verzweigen kann (spawn) und wo die Zweige wieder zusammengeführt werden müssen (sync).

Das Bestechende dabei ist: Es bleibt der Laufzeitumgebung überlassen, ob sie dieser Aufteilung in einzelne Stränge folgt oder nicht. Daher kann der Code auch ohne Änderung auf einem System mit nur einem Prozessor oder nur einem Prozessorkern ausgeführt werden.

Cilk wurde 1994 entwickelt und basiert an sich auf der ANSI-Version der Programmiersprache C. Werden die Cilk-Kommandos entfernt, bleibt ein gültiges C-Programm übrig. Cilk-spezifische Funktionen müssen lediglich durch das Schlüsselwort cilk angekündigt werden.

Freigabe unter BSD-Lizenz

Der Softwerker Cilk Arts veröffentlichte eine kommerzielle Version der Sprache (die man auch umgekehrt als Spracherweiterung für C betrachten kann), die auch C++ unterstützte. Die kommerzielle Variante heißt daher Cilk++, um den Unterschied zur Ursprungsversion deutlich zu machen.

Cilk Arts wurde im Jahr 2009 von Intel aufgekauft. Der Chipgigant entwickelte die Technik weiter, unter anderem wurden Erweiterungen für Arrays hinzugefügt, und integrierte sie unter dem Namen Cilk Plus in seine Compiler.

Nun hat Intel die Technik unter der BSD-Lizenz freigegeben, um es anderen Herstellern zu ermöglichen, Cilk Plus in ihre Compiler zu integrieren. Intel selbst hat die Portierung der Software für den freien GNU C Compiler (GCC) angekündigt. Für den GCC wurde ein entsprechender Entwicklungszweig aufgesetzt. Die Laufzeitbibliothek kann im Quellcode von der Intel-Website heruntergeladen werden.

(ID:28718890)