zu www.bildungsgueter.de zur Inhaltsübersicht des Kapitels

Beispielprogramme

Verwendung aller vier Prozessoren in einem Programm


Beispielprogramm in C++ mit Qt 5

Kurzbeschreibung

Das Programm verwendet alle zur Verfügung stehenden Prozessoren der CPU, um ein Fraktal zu berechnen.

Archivdatei mit diesem Beispielprogramm: Cpp-Qt-Fraktal006.tar.gz.

Erforderliche Pakete

Die Bibliotheken für die Verwendung von C++ mit Qt 5 müssen bereitgestellt werden. Dies geschieht durch die Installation der folgenden Pakete:

sudo apt-get install qt5-default

Compilierung

Nach der Installation aller erforderlichen Pakete geschieht die Compilierung im Hauptverzeichnis des Projekts wie folgt:

qmake
make

Der Befehl qmake erzeugt ein Makefile, das anschließend von make verwendet wird, um das Programm zu übersetzen. Das compilierte Programm wird im Hauptverzeichnis des Projekts abgelegt und mit dem Befehl

./fraktal

gestartet.

In zwei Comboboxen wählt der Anwender die Bildgröße und die Zahl der zu verwendenden Prozessoren. Durch Anklicken des Buttons Start wird die Rechnung gestartet. Der Fortschritt der Rechnung wird durch einen Indikator angezeigt. Nach dem Abschluss der Rechnung wird in einer Tabelle die Leistung aller verwendeten Prozessoren zusammengefasst. Für jeden Prozessor wird angegeben, wie viele Arbeitspakete er übernommen und wie viele Iterationsschritte er ausgeführt hat.

Vergleichswerte

Für den Vergleich verwendete Betriebssysteme:

TinkerOS 1.8 für Tinker Board, Raspbian Jessie für Raspberry Pi.

Bei Verwendung von 4 Prozessoren ergeben sich die folgenden Ausführungszeiten:

Bildgröße Raspberry Pi 2 Model B Raspberry Pi 3 Model B Tinker Board
2000 x 2000 s 5,4 s 3,05 s
4000 x 4000 s 21,2 s 11,7 s
6000 x 6000 s 47,0 s 29,8 s
7000 x 7000 118.8 s 64,0 s 47,6 s

Die Reproduzierbarkeit dieser Werte scheint allerdings nicht sehr groß zu sein.

Dieses Fraktal kann auch mit OpenGL ES 2.0 und mit OpenCL berechnet werden. Die Verwendung der GPU ermöglicht wesentlich kürzere Rechenzeiten.


Beispielprogramm in Java

Für die Installation von Java unter TinkerOS: Java installieren.

Archivdatei mit diesem Beispielprogramm: Cpp-Qt-Fraktal006.tar.gz.

Für die Compilierung werden openjdk-8-jdk und ant benötigt. Die erforderlichen Pakete werden installiert mit der Anweisung

sudo apt-get install openjdk-8-jdk ant

Compilierung des Programms

Für die Compilierung des Programms ist ins Projektverzeichnis zu wechseln und dort auszuführen

ant

Programmausführung

Die Programmausführung kann im Projektverzeichnis mit dem Befehl

ant run

geschehen. Alternativ ist auszuführen:

java -jar build/jar/Fraktal05.jar

Bei Verwendung von 4 Prozessoren ergeben sich die folgenden Ausführungszeiten:

Bildgröße Raspberry Pi Model 2 Raspberry Pi Model 3 Tinker Board
2000 x 2000 13,7 s 9,6 s ? s
4000 x 4000 55,3 s 35,9 s ? s
6000 x 6000 129,9 s 75,73 s 45,2 s (openjdk: 34,1 s)

zur Inhaltsübersicht des Kapitels