Hauptseite
Veröffentlichungen
Lebenslauf
Skripte
Errata
Gebasteltes
|
Steffen Börm: Gebasteltes
Vorlesung Wissenschaftliches Rechnen
Die folgenden Beispielprogramme können mit dem folgenden
Unix-artigen Makefile
übersetzt werden.
2D-Grafik mit Cairo
Die Bibliothek Cairo bietet
Funktionen, mit denen sich zweidimensionale Grafiken sehr komfortabel
erstellen lassen.
Hier sind einige Beispielprogramme:
Benutzerschnittstelle mit GTK+
Mit Hilfe der Bibliothek GTK+ kann
ein C-Programm relativ einfach und schnell mit einer grafischen
Benutzerschnittstelle ausgestattet werden.
Auch hierzu gibt es einige Beispielprogramme:
-
gtk1_button.c:
Ein einfaches Fenster mit einem einzelnen Knopf.
-
gtk2_hbox.c:
Zwei Knöpfe in einer GtkHBox.
-
gtk3_packing.c:
Arrangement von Objekten per GtkBox.
-
gtk4_data.c:
Verschiedene Widgets zur Dateneingabe.
-
gtk5_menu.c:
Menüs.
- gtk6_cairo.c:
Cairo-Zeichnungen in Widgets, Fassungen für GTK-Versionen
2.x und
3.x.
- gtk7_animation.c:
Cairo-Animationen in Widgets, Fassungen für GTK-Versionen
2.x und
3.x.
3D-Visualisierung mit OpenGL
Mit Hilfe des Industriestandards OpenGL
können wir auch dreidimensionale Objekte darstellen.
Die Verbindung zwischen OpenGL und der grafischen Benutzeroberfläche
kann dabei mit Hilfe der Erweiterung
GtkGLExt der Bibiothek
GTK+ 2.x oder über die
eigenständige Bibliothek
FreeGLUT erfolgen.
Die folgenden Beispielprogramme liegen in Varianten für beide
Varianten vor:
Vorlesung Hochleistungsrechnen
Die folgenden Beispielprogramme können mit dem folgenden
Unix-artigen Makefile
übersetzt werden.
Vektorrechnen mit SSE/SSE2
Hier sind einige Beispielprogramme:
-
sse_axpy.c:
Linearkombination zweier Vektoren mittels SSE.
-
sse_addmul.c:
Vierdimensionale Matrix-Vektor-Multiplikation mittels SSE-Shuffle.
-
sse_if.c:
Beispiel für die Umsetzung von Fallunterscheidungen auf Vektorrechnern.
-
sse_exp.c:
Einfache Approximation der Exponentialfunktion per Exponentialreihe und
Manipulation der Binärdarstellung von Gleitkommazahlen.
Vektorrechnen mit AVX
Auch hierzu gibt es einige Beispielprogramme:
-
avx_axpy.c:
Linearkombination zweier Vektoren mittels AVX.
-
avx_exp.c:
Einfache Approximation der Exponentialfunktion, leider wird der
Umgang mit der Binärdarstellung der Gleitkommazahlen durch
fehlende AVX-Integer-Befehle erschwert.
Rechnen auf heterogenen Architekturen mit OpenCL
Mit Hilfe des Industriestandards
OpenCL können wir heterogene Rechnersysteme steuern, beispielsweise
bestehend aus einer CPU und einer Grafikkarte.
Hier finden sich einige Beispielprogramme:
-
cl_info.c:
Auflisten der vorhandenen OpenCL-Plattformen und -Devices.
-
cl_axpy.c:
Linearkombination zweier Vektoren im Grafikspeicher.
-
cl_exp.c:
Einfache Approximation der Exponentialfunktion..
Prof. Dr. Steffen Börm
Lehrstuhl Scientific Computing,
Institut für Informatik
Christian-Albrechts-Universität, 24118 Kiel
GPG Public Key (fingerprint AC87 49F3 30F3
A582 0014 7838 6F62 95D7 CDDA 1F98)
|
|
|