Build-Werkzeug: CMake 3.21 versteht den C++-Dialekt HIP

Das Heterogeneous-Computing Interface for Portability konvertiert CUDA-Anwendungen in portierbaren C++-Code und ist Bestandteil des aktuellen CMake-Release.

In Pocket speichern vorlesen Druckansicht 57 Kommentare lesen

(Bild: Blackboard/Shutterstock.com)

Lesezeit: 2 Min.
Von
  • Silke Hahn

Kitware hat Version 3.21 von CMake freigegeben, einem quelloffenen Build-Werkzeug zum Testen und Erstellen von Installationspaketen, das mit zahlreichen Entwicklungsumgebungen und Compilern plattformunabhängig zusammenarbeitet. Neu ist die Integration von HIP (Heterogeneous-Computing Interface for Portability), das beim Konvertieren von CUDA-Applikationen in portierbaren C++-Code zum Einsatz kommt.

HIP stellt dafür eine C-artige API bereit sowie eine C++-Kernelsprache, sein C++-Interface kann Templates und Klassen über Host- und Kernelgrenzen hinweg verwenden. Wer sich dafür interessiert, kann HIP ab sofort mit den Befehlen project() und enable_language() aktivieren.

Das Release bietet außerdem einen experimentellen Generator für Visual Studio 17.2022, der auf der Preview 1.1 von Visual Studio 17 beruht, und die Makefile Generators sowie der sogenannte Ninja Generator sollen nun Tools zum Starten von Link-Tools an Bord haben. Details hierzu lassen sich beim Aufruf der Variable CMAKE_<LANG>_LINKER_LAUNCHER und des Targets <LANG>_LINKER_LAUNCHER einsehen, heißt es in der Blogmeldung von Kitware.

CMake 3.21 kennt laut Releasemeldung die in den Spezifikationen C17 und C23 beschriebenen Funktionalitäten bei aktiviertem C_STANDARD, OBJC_STANDARD und in den Compile Features. Zudem ist das Build-Tool nun offenbar in der Lage, mit dem Kommandozeilenparameter -toolchain <path/to/file> eine Datei der Toolchain genau anzusprechen. Neu an Bord ist das Zusammenspiel mit dem Fujitsu-Clang-Compiler, und wer im Terminal Nachrichten ausdruckt, kann sie nun offenbar durch den Message Type einfärben.

Die Compile- und Link-Flags zu ARMClang ergänzt das Tool nicht mehr automatisch, ist der Releasemeldung zu entnehmen, Entwicklerinnen und Entwickler müssen sie nun explizit spezifizieren. Weitere Neuerungen betreffen die Befehle: Unter anderem sollen die add_custom_command()-Befehle nun die Generator Expressions einsetzen können und von den Visual Studio Generators für VS 2012 sowie vom Xcode Generator genutzt werden. Zudem kennt CMake 3.21 den Befehl add_custom_command(TARGET) für Build-Events zum Auflösen Target-abhängiger Generator Expressions.

Alle weiteren Änderungen lassen sich dem Blogeintrag von Kitware sowie den Release Notes entnehmen. Wer gleich loslegen will, kann das aktuelle Release bei CMake.org herunterladen, begleitend empfiehlt sich ein Blick in die Dokumentation zu CMake 3.21.

(sih)