Wiss. Rechnen » C und C++
 

Auf dem Cluster gibt es zwei verschiedene Compiler für C- und C++-Programme: die Gnu Compiler Collection (GCC) und den Intel-Compiler.

Eine gute Ressource für Einsteiger in die C-Programmierung ist zum Beispiel die Website cprogramming.com.

Es gibt außerdem weitere Tools zur Software-Entwicklung, die nicht auf dieser Seite gelistet sind. Zum Beispiel kann Totalview zum parallelen Debugging genutzt werden. Verschiedene Intel-Tools zur Performance-Analyse und Optimierung stehen außerdem zur Verfügung.

GCC-Compiler

Der GCC-Compiler ist in mehreren Versionen installiert. Es bietet sich allerdings an, die Version 9.3.0 zu verwenden, die im Rahmen von OpenHPC installiert ist, von Betriebssystem-Seite ist aber zusätzlich die Version 8.3.1 verfügbar. Erstere ist auch standardmäßig als Modul gnu9 geladen. Deren Dokumentation findet sich hier. Weitere Versionen sind eventuell verfügbar und können mit module avail beziehungsweise mit module spider gnu gelistet werden.

Der Befehl zum Aufrufen des C-Compilers ist gcc, für den C++-Compiler g++.

Zusätzlich zum Compiler enthält GCC auch den GNU Debugger (gdb), der in der Version 8.2.12 installiert ist. Der Befehl für den Debugger ist gdb.

Nachfolgend ist beispielhaft das Laden des GCC-Moduls und die Abfrage der Version des C-Compilers dargestellt:

$ module load gnu9
$ gcc --version
gcc (GCC) 9.3.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Intel-Compiler

Auf dem Cluster ist das Intel Parallel Studio installiert, dies beinhaltet den Intel-Compiler in der Version 19.1.2. Zusätzlich ist die ältere Version 19.0.5 installiert. Die installierten Versionen können mittels module spider intel angezeigt werden.

Der Befehl zum Aufrufen des Compilers ist icc für den C-Compiler sowie icpc für den C++-Compiler. Nachfolgend ist beispielhaft das Laden des Intel-Moduls und die Abfrage der Version des Intel-Compilers dargestellt:

$ module load intel
$ icc --version
icc (ICC) 19.1.2.254 20200623
Copyright (C) 1985-2020 Intel Corporation.  All rights reserved.

In diesem Beispiel wurde das Modul ohne Angabe der Compilerversion geladen. Damit wird der vom ZIMT eingestellte Standardwert für dieses Modul verwendet (dieser ist bei einem module avail mit (D) gekennzeichnet).

Aktualisiert um 18:13 am 8. Februar 2021 von Jan Steiner