EselTreiber
Commander
★ Themenstarter ★
- Mitglied seit
- 13.10.2007
- Beiträge
- 198
- Renomée
- 47
- Standort
- Hirschberg, BaWü
- Aktuelle Projekte
- -
- Lieblingsprojekt
- Einstein@home
- Meine Systeme
- arxtr: 3960X+1030GT+980Ti arx03: 1920X+1030GT arx02: Xeon 2697 v3 full Turbo arx04: 2400G - : i5
- BOINC-Statistiken
- Mein Laptop
- HP ProBook 6460b
- Details zu meinem Desktop
- Prozessor
- AMD 3960X - 200W
- Mainboard
- AsRock TRX40 Creator
- Kühlung
- Watercool HK IV TR
- Speicher
- 4 x 8 GB G.Skill 3800 16-15-15-15-32
- Grafikprozessor
- RTX 3080
- Display
- Benq BL2710T, 2560x1440
- SSD
- Samsung 251 512GB, Samsung 970 Evo plus 512GB, Samsung 830 256GB
- HDD
- Western Digital Green 1.5 TB
- Optisches Laufwerk
- -
- Soundkarte
- Onboardzeugs
- Gehäuse
- Fractal Define S
- Netzteil
- Fractal Design Ion+ 660W
- Betriebssystem
- Manjaro
- Verschiedenes
- S.M.S.L. Tripath Class-D Amp, Lautsprecherbau.de BluesBox PC 15
Moin moin,
Da es in letzter Zeit öfters mal Fragen zum Thema Linux und OpenCL mit AMD-Hardware gegeben hat, wollte ich mal eine kleine Anleitung schreiben. Über diesen Weg habe ich alle meine Linux-Systeme erfolgreich aufsetzen können. In dieser Anleitung gebe ich beide Wege der Installation des AMD-Grafiktreibers (fglrx) an. Mit dem neuen 14.4 final funktioniert bei mir auch wieder die Paketerstellung und Installation. Zudem gehe ich den Weg der Verwendung einer aktuellen BOINC-Version ohne Installation. Damit BOINC nicht gleich losrechnet, sobald das System hochgefahren ist. Für Übertakter sicher interessant und man hat mehr Kontrolle über BOINC. Bei dieser Variante sitzen alle Konfigurationsdateien (für remote-Zugriff etc.) im Verzeichis aus welchem man den BOINC-Client auch startet.
Genug gelabert, los geht's!
Ich gehe einfach mal davon aus, dass Befehle wie cd, rm oder ls bekannt sind. Falls nicht, oder noch Unsicherheit besteht... hier gibt es LINUX-KONSOLENBEFEHLE in einer Übersicht.
1. Installation von Ubuntu 14.04 auf einem Rechner mit 64bit-Prozessor (ich gehe davon aus, dass alle Cruncher immer aktuelle Hardware haben)
1.1 Man erstellt sich einen USB-Stick für die Installation von Ubuntu 14.04. Hierfür lädt man das passende Image von der Ubuntu-Hompage. Für Leute, die am Headless-Betrieb interessiert sind, empfehle ich lieber Ubuntu-Gnome. Dieses System nutzt einen anderen Display Manager, welcher etwas einfacher zu benutzen ist.
Alles weitere dann an entsprechender Stelle weiter unten.
Mit Hilfe von PendriveLinux erstellt man sich den bootfähigen USB-Stick samt Ubuntu-Installer. In Pendrive-Linux kann man direkt die entsprechende Distribution (Ubuntu 64bit) auswählen.
1.2 Man steckt den USB-Stick in den gewünschten Rechner und installiert sich ein frisches Ubuntu.
1.3 Per
sudo apt-get update
und
sudo apt-get dist-upgrade
bringt man das System auf den neuesten Stand. Sollte ein Update des Kernels erfolgt sein, so kann ein Neustart notwendig sein. Im Zweifelsfall einfach einen machen.
2. Installation des AMD-Grafiktreibers (manuell oder Paketerstellung)
2.1 Zunächst benötigt man erstmal die Vorraussetzungen für die Installation des Treibers. Die Abhängigkeiten für den Bau des Treibers weiß ich nicht genau, jedoch hat ein
sudo apt-get build-dep fglrx fglrx-amdcccle
bisher immer gereicht. Da wir ein 64bit System aufsetzen und einige Projekte 32bittig sind, braucht der Treiber zum Bau auch noch
sudo apt-get install lib32gcc1.
Will man die Pakete bauen und dann installieren, so benötigt man noch
sudo apt-get install dh-make build-essential dh-modaliases execstack dkms linux-headers-generic
und dann ist man ausgestattet.
2.2 Jetzt wird der Treiber runtergeladen. Der aktuelle Treiber 14.4 funktioniert momentan sehr gut. Dieser wird dann beispielhaft unter ~/Downloads gespeichert. Das Archiv wird entzippt
unzip amd-catalyst-14-4-linux-x86-x86-64.zip
Es wird ein Ordner erstellt, in den wir nun wechseln.
cd fglrx-14.10.1006
Der Treiber wird jetzt installiert:
2.2.1 Manuelle, direkte Installation
sudo ./amd-driver-installer-14.10.1006-x86.x86_64.run
Wenn ihr das Ganze in einer grafischen Umgebung macht, dann öffnet sich ein grafischer Installer. Diesem einfach folgen und den Treiber direkt installieren, nicht die Pakete bauen lassen.
2.2.2 Manuelle, Paketbau- und Installationsanleitung
Für diesen Fall führen wir
sudo ./amd-driver-installer-14.10.1006-x86.x86_64.run --listpkg
aus und lassen uns damit die Paketbaumöglichkeiten anzeigen.
xxx[/STRIKE]@[STRIKE]xxxxxx:~/Downloads/fglrx-14.10.1006$ ./amd-driver-installer-14.10.1006-x86.x86_64.run --listpkg
Created directory fglrx-install.pZakWe
Verifying archive integrity... All good.
Uncompressing AMD Catalyst(TM) Proprietary Driver-14.10.1006.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
=====================================================================
AMD Catalyst(TM) Proprietary Driver Installer/Packager
=====================================================================
List of generatable packages:
Package Maintainer(s): Aric Cyr <aric.cyr@gmail.com>
Mario Limonciello <superm1@gmail.com>
Status: *UNVERIFIED*
Debian Packages:
Debian/sid
Debian/unstable
Debian/etch
Debian/stable
Debian/lenny
Debian/testing
Debian/experimental
Package Maintainer(s): Niko Mirthes <nmirthes@gmail.com>
Michael Larabel <michael@phoronix.com>
Status: *UNVERIFIED*
Fedora Packages:
Fedora/FC3
Fedora/FC4
Fedora/FC5
Fedora/FC6
Fedora/F7
Fedora/F8
Fedora/F9
Fedora/F10
Fedora/RHEL3
Fedora/RHEL4
Package Maintainer(s): Anssi Hannula <anssi@mageia.org>
Status: *UNVERIFIED*
Mageia Packages:
Mageia/1
Mageia/2
Mageia/3
Mageia/4
Package Maintainer(s): Dmitry Mikhirev <dmikhirev@mandriva.org>
Status: *UNVERIFIED*
Mandriva Packages:
Mandriva/2007.0
Mandriva/2007.1
Mandriva/2008.0
Mandriva/2008.1
Mandriva/2009.0
Mandriva/2009.1
Mandriva/2010.0
Mandriva/2010.1
Mandriva/2010.2
Mandriva/2011.0
Mandriva/2012.0
Package Maintainer(s): AMD
Status: Verified
RedHat Packages:
RedHat/RHEL5_64a
RedHat/RHEL6_64a
RedHat/RHEL5
RedHat/RHEL6
Package Maintainer(s): Emanuele Tomasi <tomasi@cli.di.unipi.it>
Status: *UNVERIFIED*
Slackware Packages:
Slackware/Slackware
Package Maintainer(s): Sebastian Siebert <freespacer@gmx.de>
Status: *UNVERIFIED*
SuSE Packages:
SuSE/SLE10-IA32
SuSE/SLE10-AMD64
SuSE/SLE11-IA32
SuSE/SLE11-AMD64
SuSE/SUSE121-IA32
SuSE/SUSE121-AMD64
SuSE/SUSE122-IA32
SuSE/SUSE122-AMD64
SuSE/SUSE123-IA32
SuSE/SUSE123-AMD64
SuSE/SUSE131-IA32
SuSE/SUSE131-AMD64
SuSE/SUSE-autodetection
Package Maintainer(s): Alberto Milone <alberto.milone@canonical.com>
Status: *UNVERIFIED*
Ubuntu Packages:
Ubuntu/gutsy
Ubuntu/hardy
Ubuntu/intrepid
Ubuntu/jaunty
Ubuntu/karmic
Ubuntu/lucid
Ubuntu/maverick
Ubuntu/natty
Ubuntu/oneiric
Ubuntu/precise
Ubuntu/quantal
Ubuntu/raring
Ubuntu/saucy
Ubuntu/source
Ubuntu/trusty
For example, to build a Debian Etch package, run the following:
% ./amd-driver-installer-<version>-<architecture>.run --buildpkg Debian/etch
Removing temporary directory: fglrx-install.pZakWe
Dann lassen wir uns die Pakete bauen mit dem Befehl
sudo ./amd-driver-installer-14.10.1006-x86.x86_64.run --buildpkg Ubuntu/trusty
für den Fall, dass wir Ubuntu in der Version 14.4 verwenden. Die Codenamen entnimmt man zur Not der Wikipedia.
Nun baut der Installer die .deb-Pakete und legt sie in das selbige Verzeichnis. Ein einfaches
sudo dpkg --install *.deb
sorgt für die Installation aller gebauten Pakete. Achtung! Hier dürfen natürlich keine weiteren, unbeteiligten .deb-Pakete in diesem Ordner liegen. Sonst werden die mit installiert.
2.3 Nachdem der Treiber installiert ist, muss vor dem Neustart
sudo amdconfig --initial
ausgeführt werden. Besitzt das System mehrere Grafikkarten von AMD, so muss es
sudo amdconfig --initial --adapter=all
lauten.
2.4 Neustart!
2.5 Jetzt brauchen wir noch das OpenCL-SDK von AMD, damit unter Linux die Grafikkarte für OpenCL zur Verfügung steht. Das Ding kann man sich HIER ziehen. Natürlich die 64bit Version für Linux.
2.6 Nach dem Download, will das Paket mit
tar –vxf AMD-APP-SDK-v2.9-lnx64.tgz
entpackt werden.
2.7 Nun hängen in dem Ordner einige Dateien mehr ab. Da wird nun mit
sudo ./Install-AMD-APP.sh
das APP SDK installiert.
2.8 Neustart!
2.9 Zum Testen, ob die Karte dem System zur Verfügung steht, macht man
clinfo
Der Output sollte dann so aussehen:
Wird die Grafikkarte nicht aufgeführt, lief irgendwas schief.
3. Installation von BOINC
3.1 Boinc wird eigentlich nicht installiert, sondern nur entpackt. Heruntergeladen wird die aktuelle stable-Version von HIER.
3.2 Das wird mit
sh boinc_7.2.42_x86_64-pc-linux-gnu.sh
entpackt. Nun hängt da ein Ordner BOINC rum.
3.2 Wir wollen ja nicht immer eine Konsole auf haben, in der der Client läuft. Dafür gibt es ein supertolles Programm namens screen. Das schnappen wir uns mit
sudo apt-get install screen
3.3 Jetzt gehen wir mit
cd BOINC
in den Boinc-Ordner. Dort können wir mit
screen ./run_client
nun den Client starten. Jetzt machen wir uns die tollen Eigenschaften von Screen zunutze. Mit dem Drücken von STR+A auf der Tastatur und einem anschließenden Druck auf D minimiert sich Screen und wir sind wieder in der alten Konsole. Und der Client rennt auf der virtuellen Konsole im Screen munter weiter. Und wenn wir wieder an den Client müssen aus irgendwelchen Gründen? Ganz simpel: mit
screen –r
holen wir die virtuelle Konsole mit dem Client wieder nach vorne. Haben wir mehrere Screens am Laufen, werden uns die laufenden Screens angezeigt. Mit der Prozess-ID können wir die einzelnen Screens wieder öffnen.
screen –r 33475
für den Screen mit der Prozess-ID 33475.
3.4 So, da der Client im Screen rennt, öffnen wir uns mit
./run_manager
den BOINC-Manager. Es sollte nun die Karte als OpenCL-Device angezeigt werden und nutzbar sein!
4. Eine Einführung in amdconfig, welches das CCC unter Windows ersetzt, da das CCC unter Linux (wie von mickythebeagle bereits bemerkt) ein Witz ist. Wichtiges zum Betrieb mehrerer AMD-Grafikkarten in einem PC. Diese haben Device-IDs, welche man sich mit
amdconfig --list-adapters
anzeigen lassen kann. Will man nun eine spezielle Grafikkarte ansprechen, so macht man das mit
amdconfig --adapter=0 --BEFEHL
Bevor ihr versucht, einer Karte eine Taktrate zuzuweisen und dabei versehentlich die 1000 MHz für die HD7970 auch der HD5850 aufdrückt, probiert es am besten mit einem harmlosen Befehl wie --odgt oder --odgc aus.
4.1 Hardware-Parameter auslesen. Ob es der Grafikkarte unter der Belastung durch Milkyway oder Collatz noch thermisch gut geht, findet man mit
amdconfig --odgt
heraus. od steht hier für "OverDrive" und gt für "GetTemperature".
Will man darüber hinaus auch die Taktraten und die Auslastung der GPU in Prozent [%] auslesen, so bietet sich
amdconfig --odgc
an. gc steht hier für "GetClocks".
4.2 Hardware-Parameter ändern. Overclocking! Der Heilige Gral für Cruncher, um auch das letzte Bisschen Leistung aus den Karten zu pressen. Aber nicht übertreiben und immer auf Rechenfehler achten! Testet die neuen Taktraten immer mit einem Projekt, welches die Ergebnisse gegenrechnen lässt. Milkyway und Einstein eignen sich dafür. Zunächst muss das Overclocking erst einmal freigeschaltet werden. Damit akzeptiert man den damit einhergehenden Garantieverlust.
amdconfig --od-enable
Ein entpsrechender Hinweis erscheint und es kann los gehen. Mit
amdconfig --od-setclocks=500,1200
setzt man einen Coretakt von 500 MHz und einen Ramtakt von 1200 MHz. Die Grenzen für die Übertaktung gibt das Tool vor und lassen sich per
amdconfig --odgc
auslesen. Hier findet man nun die neu eingestellten Taktraten. Diese sind aber nach einem Neustart wieder auf Standard gestellt. Ist man mit den gewählten Taktraten zufrieden und möchte diese dauerhaft setzen, so nutzt man
amdconfig --odcc
Hat man es sich anders überlegt, oder nötigt einen die durch den Pentathlon ausgelöste Hitzewelle dazu, so kann man mittels
amdconfig --odrd
die Default-Werte der Karte wiederherstellen.
4.3 Die Lüftersteuerung lässt sich auch per Konsole bearbeiten. Will man seine Lüfter auf eine bestimmte Geschwindigkeit setzen, so benutzt man
amdconfig --pplib-cmd "set fanspeed DEVICE-ID PROZENT"
und das sieht dann, wenn man seine Karte mit der ID 0 auf 100% dauerhafte Lüftergeschwindigkeit setzen will wiefolgt aus:
amdconfig --pplib-cmd "set fanspeed 0 100"
Will man wieder auf den Automatikbetrieb wechseln, kann man entweder den Rechner neu starten oder aber die Automatik folgendermaßen wieder aktivieren:
amdconfig --pplib-cmd "set fanspeed 0 auto"
Hat man mehrere Karten, muss man die Device ID halt entsprechend der Karte anpassen. Siehe oben.
4.4 Durchgehende Überwachung der Parameter. führt man die --odgc oder --odgt Befehle in der Konsole aus, bekommt man den aktuellen Wert ausgegeben. Für eine kontinuierliche Ausgabe gibt uns AMD kein Tool mit, dafür hat aber Linux bereits eines an Bord. Unser Kumpel für diesen Fall heisst watch. Angenommen, wir wollen kontinuerlich die GPU-Temperatur überwachen, so benutzen wir
watch amdconfig --odgt
um uns in der aktuellen Konsole die Temperatur anzeigen zu lassen. Watch erneuert dann standardmässig alle 2 s die Abfrage des Befehls mit dem jeweils aktuellen Wert. Möchte man eine schnellere oder langsamere Anzeige haben, so lässt sich dieser Wunsch per Option an watch übergeben. Ich möchte alle 0.5 s den Temperaturwert aktualisiert haben, also
watch -n 0,5 amdconfig --odgt
Und schon wird es mir angezeigt.
4.4.1 Überwachung von amdconfig per GUI-Tool. Für die Windows-Verwöhnten und Konsolenhasser nach einem Tipp von cyrusNGC_224 (Danke an dieser Stelle dafür).
HIER kann man sich AMDOverdriveControl runterladen. Man bekommt ein deb-Installatiospaket, welches man via
sudo dpkg -i amdoverdrivectrl_1.2.7_amd64.deb
installieren kann. Die Anwendung sollte dann im Programme-Menü auftauchen. Ich kann das hier NICHT TESTEN, weil Nvidia-GraKa. Sollte aber so funktionieren. Bitte daher um Rückmeldung, falls es nicht geht.
4.5 Überwachung der restlichen PC-Temperaturen. Da auch der Prozessor und das Mainboard Temperatursensoren und die Lüfteranschlüsse Drehzahlsensoren haben, will ich hier kurz sensors vorstellen. Das Programm wird mit
sudo apt-get install lm-sensors
installiert. Nun muss das Programm noch die vorhandenen Sensoren einlesen. Das machen wir einmalig nach der Installation mittels
sudo sensors-detect
Jetzt werden wir gefragt, welche Sensoren da abgetastet werden sollen. Meiner Erfahrung nach einfach alle mit yes abtasten lassen und bei der Nachfrage nach dem Kernelmodul auch mit yes antworten, damit sensors immer zur Verfügung steht. Nach einem Neustart ist das Kernelmodul geladen und wir können die Werte mit
sensors
abfragen. Hier ist natürlich auch wieder watch von Interesse, mit welchem wir einfach die Werte beim Crunchen überwachen können.
watch sensors
Das soll es hier auch erst einmal mit der Überwachung der Hardware sein soweit.
5. Der Headless-Betrieb! Jetzt geht es ans Eingemachte, aber trotzdem keine Angst davor haben. Es wird in diesem Kapitel eine kleine Übung für einen Konsolen-basierten Texteditor geben. Den braucht man später dann auch, um Boinc remote zu konfigurieren.
Wer träumt nicht davon, einfach 50 Rechner herumstehen zu haben, auf welche man durch einen einzigen PC bequem zugreifen kann und auch systemrelevante Aufgaben durchführen kann? Und dabei noch keinerlei CPU/GPU-Last durch einen graphischen Desktop.... für den Cruncher ein Traum. Dank aktueller AMD-Treiber jetzt auch im Crunching-Betrieb mit GPUs kein Problem mehr! Aber eines nach dem Anderen....
5.1 Den Fernzugriff ermöglichen. Wir benötigen einen ssh-server, um dann später per SSH auf den Rechner zugreifen zu können. Den installieren wir uns mit
sudo apt-get install openssh-server
5.2 Den Fernzugriff nutzen unter Windows. Man lädt sich Putty runter. Das kann man dann starten und trägt die IP-Adresse des Linux-Rechners ein und verbindet. Man wird nach Login und Passwort gefragt und schon seit ihr auf eurem Rechner.
5.3 OpenCL headless ermöglichen. Der wohl schwierigste Teil der ganzen Reise. Zunächst die Anleitung für den Gnome3-Desktop, da diese deutlich kürzer und einfacher ist. Gnome verwendet den Display Manager GDM, wohingegen Unity (der Windowmanager von Ubuntu) den Display Manager LightDM verwendet.
5.4 Headless mit GDM. Quelle: http://www.mayankdaga.com/running-opencl-applications-remotely-on-amd-gpus/
Zunächst müssen wir als root einige Systemdateien ändern. Zum einen
sudo nano /etc/gdm/init/Default
hier muss noch vor dem Ende der Datei (Die 0 am Ende) folgendes eingetragen werden:
xhost +
chmod uog+rw /dev/ati/card*
Danach müssen wir der Konsole noch mitteilen, wie das mit dem X-Server laufen soll. Dafür müssen wir auch wieder in einer Systemdatei herumfummeln.
sudo nano /etc/bashrc
in welcher wir dann folgende Zeilen hinzufügen müssen:
case $DISPLAY in '') export DISPLAY=:0;; *) ;; esac
WICHTIG: die '' sind zwei einzel-Symbole und nicht das einfache Anführungszeichen!
Wenn alles gespeichert ist, dann sollte nach einem Neustart OpenCL auch per SSH zugängig sein. Also einfach
clinfo
per SSH ausführen und schauen, ob die Karte
aufgeführt werden.
5.5 Headless mit LightDM.
-to do-
Da es in letzter Zeit öfters mal Fragen zum Thema Linux und OpenCL mit AMD-Hardware gegeben hat, wollte ich mal eine kleine Anleitung schreiben. Über diesen Weg habe ich alle meine Linux-Systeme erfolgreich aufsetzen können. In dieser Anleitung gebe ich beide Wege der Installation des AMD-Grafiktreibers (fglrx) an. Mit dem neuen 14.4 final funktioniert bei mir auch wieder die Paketerstellung und Installation. Zudem gehe ich den Weg der Verwendung einer aktuellen BOINC-Version ohne Installation. Damit BOINC nicht gleich losrechnet, sobald das System hochgefahren ist. Für Übertakter sicher interessant und man hat mehr Kontrolle über BOINC. Bei dieser Variante sitzen alle Konfigurationsdateien (für remote-Zugriff etc.) im Verzeichis aus welchem man den BOINC-Client auch startet.
Genug gelabert, los geht's!
Ich gehe einfach mal davon aus, dass Befehle wie cd, rm oder ls bekannt sind. Falls nicht, oder noch Unsicherheit besteht... hier gibt es LINUX-KONSOLENBEFEHLE in einer Übersicht.
1. Installation von Ubuntu 14.04 auf einem Rechner mit 64bit-Prozessor (ich gehe davon aus, dass alle Cruncher immer aktuelle Hardware haben)
1.1 Man erstellt sich einen USB-Stick für die Installation von Ubuntu 14.04. Hierfür lädt man das passende Image von der Ubuntu-Hompage. Für Leute, die am Headless-Betrieb interessiert sind, empfehle ich lieber Ubuntu-Gnome. Dieses System nutzt einen anderen Display Manager, welcher etwas einfacher zu benutzen ist.
Die Bedienung der Gnome3-Oberfläche ist gewöhnungsbedürftig, aber sehr gut. Zu Anfang sollte man wissen, dass der Mauszeiger in die obere linke Ecke bewegt werden muss, um ein Overlay-Menü zu öffnen. Darin kann man einfach auf der Tastatur "Terminal" eintippen und schon erscheint das entsprechende Icon für eine Konsole. "Ter" reicht da meist schon für.
Einfach mal angucken, wie das alles so funktioniert. Ist im Gegensatz zu Windows 8 auch mit einer Maus gut und schnell zu bedienen. (Genug Werbung für Gnome3
)

Einfach mal angucken, wie das alles so funktioniert. Ist im Gegensatz zu Windows 8 auch mit einer Maus gut und schnell zu bedienen. (Genug Werbung für Gnome3

Mit Hilfe von PendriveLinux erstellt man sich den bootfähigen USB-Stick samt Ubuntu-Installer. In Pendrive-Linux kann man direkt die entsprechende Distribution (Ubuntu 64bit) auswählen.
1.2 Man steckt den USB-Stick in den gewünschten Rechner und installiert sich ein frisches Ubuntu.
1.3 Per
sudo apt-get update
und
sudo apt-get dist-upgrade
bringt man das System auf den neuesten Stand. Sollte ein Update des Kernels erfolgt sein, so kann ein Neustart notwendig sein. Im Zweifelsfall einfach einen machen.

2. Installation des AMD-Grafiktreibers (manuell oder Paketerstellung)
2.1 Zunächst benötigt man erstmal die Vorraussetzungen für die Installation des Treibers. Die Abhängigkeiten für den Bau des Treibers weiß ich nicht genau, jedoch hat ein
sudo apt-get build-dep fglrx fglrx-amdcccle
bisher immer gereicht. Da wir ein 64bit System aufsetzen und einige Projekte 32bittig sind, braucht der Treiber zum Bau auch noch
sudo apt-get install lib32gcc1.
Will man die Pakete bauen und dann installieren, so benötigt man noch
sudo apt-get install dh-make build-essential dh-modaliases execstack dkms linux-headers-generic
und dann ist man ausgestattet.
2.2 Jetzt wird der Treiber runtergeladen. Der aktuelle Treiber 14.4 funktioniert momentan sehr gut. Dieser wird dann beispielhaft unter ~/Downloads gespeichert. Das Archiv wird entzippt
unzip amd-catalyst-14-4-linux-x86-x86-64.zip
Es wird ein Ordner erstellt, in den wir nun wechseln.
cd fglrx-14.10.1006
Der Treiber wird jetzt installiert:
2.2.1 Manuelle, direkte Installation
sudo ./amd-driver-installer-14.10.1006-x86.x86_64.run
Wenn ihr das Ganze in einer grafischen Umgebung macht, dann öffnet sich ein grafischer Installer. Diesem einfach folgen und den Treiber direkt installieren, nicht die Pakete bauen lassen.
2.2.2 Manuelle, Paketbau- und Installationsanleitung
Für diesen Fall führen wir
sudo ./amd-driver-installer-14.10.1006-x86.x86_64.run --listpkg
aus und lassen uns damit die Paketbaumöglichkeiten anzeigen.
Created directory fglrx-install.pZakWe
Verifying archive integrity... All good.
Uncompressing AMD Catalyst(TM) Proprietary Driver-14.10.1006.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
=====================================================================
AMD Catalyst(TM) Proprietary Driver Installer/Packager
=====================================================================
List of generatable packages:
Package Maintainer(s): Aric Cyr <aric.cyr@gmail.com>
Mario Limonciello <superm1@gmail.com>
Status: *UNVERIFIED*
Debian Packages:
Debian/sid
Debian/unstable
Debian/etch
Debian/stable
Debian/lenny
Debian/testing
Debian/experimental
Package Maintainer(s): Niko Mirthes <nmirthes@gmail.com>
Michael Larabel <michael@phoronix.com>
Status: *UNVERIFIED*
Fedora Packages:
Fedora/FC3
Fedora/FC4
Fedora/FC5
Fedora/FC6
Fedora/F7
Fedora/F8
Fedora/F9
Fedora/F10
Fedora/RHEL3
Fedora/RHEL4
Package Maintainer(s): Anssi Hannula <anssi@mageia.org>
Status: *UNVERIFIED*
Mageia Packages:
Mageia/1
Mageia/2
Mageia/3
Mageia/4
Package Maintainer(s): Dmitry Mikhirev <dmikhirev@mandriva.org>
Status: *UNVERIFIED*
Mandriva Packages:
Mandriva/2007.0
Mandriva/2007.1
Mandriva/2008.0
Mandriva/2008.1
Mandriva/2009.0
Mandriva/2009.1
Mandriva/2010.0
Mandriva/2010.1
Mandriva/2010.2
Mandriva/2011.0
Mandriva/2012.0
Package Maintainer(s): AMD
Status: Verified
RedHat Packages:
RedHat/RHEL5_64a
RedHat/RHEL6_64a
RedHat/RHEL5
RedHat/RHEL6
Package Maintainer(s): Emanuele Tomasi <tomasi@cli.di.unipi.it>
Status: *UNVERIFIED*
Slackware Packages:
Slackware/Slackware
Package Maintainer(s): Sebastian Siebert <freespacer@gmx.de>
Status: *UNVERIFIED*
SuSE Packages:
SuSE/SLE10-IA32
SuSE/SLE10-AMD64
SuSE/SLE11-IA32
SuSE/SLE11-AMD64
SuSE/SUSE121-IA32
SuSE/SUSE121-AMD64
SuSE/SUSE122-IA32
SuSE/SUSE122-AMD64
SuSE/SUSE123-IA32
SuSE/SUSE123-AMD64
SuSE/SUSE131-IA32
SuSE/SUSE131-AMD64
SuSE/SUSE-autodetection
Package Maintainer(s): Alberto Milone <alberto.milone@canonical.com>
Status: *UNVERIFIED*
Ubuntu Packages:
Ubuntu/gutsy
Ubuntu/hardy
Ubuntu/intrepid
Ubuntu/jaunty
Ubuntu/karmic
Ubuntu/lucid
Ubuntu/maverick
Ubuntu/natty
Ubuntu/oneiric
Ubuntu/precise
Ubuntu/quantal
Ubuntu/raring
Ubuntu/saucy
Ubuntu/source
Ubuntu/trusty
For example, to build a Debian Etch package, run the following:
% ./amd-driver-installer-<version>-<architecture>.run --buildpkg Debian/etch
Removing temporary directory: fglrx-install.pZakWe
sudo ./amd-driver-installer-14.10.1006-x86.x86_64.run --buildpkg Ubuntu/trusty
für den Fall, dass wir Ubuntu in der Version 14.4 verwenden. Die Codenamen entnimmt man zur Not der Wikipedia.

Nun baut der Installer die .deb-Pakete und legt sie in das selbige Verzeichnis. Ein einfaches
sudo dpkg --install *.deb
sorgt für die Installation aller gebauten Pakete. Achtung! Hier dürfen natürlich keine weiteren, unbeteiligten .deb-Pakete in diesem Ordner liegen. Sonst werden die mit installiert.
2.3 Nachdem der Treiber installiert ist, muss vor dem Neustart
sudo amdconfig --initial
ausgeführt werden. Besitzt das System mehrere Grafikkarten von AMD, so muss es
sudo amdconfig --initial --adapter=all
lauten.
2.4 Neustart!

2.5 Jetzt brauchen wir noch das OpenCL-SDK von AMD, damit unter Linux die Grafikkarte für OpenCL zur Verfügung steht. Das Ding kann man sich HIER ziehen. Natürlich die 64bit Version für Linux.
2.6 Nach dem Download, will das Paket mit
tar –vxf AMD-APP-SDK-v2.9-lnx64.tgz
entpackt werden.
2.7 Nun hängen in dem Ordner einige Dateien mehr ab. Da wird nun mit
sudo ./Install-AMD-APP.sh
das APP SDK installiert.
2.8 Neustart!

2.9 Zum Testen, ob die Karte dem System zur Verfügung steht, macht man
clinfo
Der Output sollte dann so aussehen:
Number of platforms: 1
Platform Profile: FULL_PROFILE
Platform Version: OpenCL 1.2 AMD-APP (1445.5)
Platform Name: AMD Accelerated Parallel Processing
Platform Vendor: Advanced Micro Devices, Inc.
Platform Extensions: cl_khr_icd cl_amd_event_callback cl_amd_offline_devices cl_amd_hsa
Platform Name: AMD Accelerated Parallel Processing
Number of devices: 2
Device Type: CL_DEVICE_TYPE_GPU
Device ID: 4098
Board name: AMD Radeon HD 7900 Series
Device Topology: PCI[ B#1, D#0, F#0 ]
Max compute units: 28
Max work items dimensions: 3
Max work items[0]: 256
Max work items[1]: 256
Max work items[2]: 256
Max work group size: 256
Preferred vector width char: 4
Preferred vector width short: 2
Preferred vector width int: 1
Preferred vector width long: 1
Preferred vector width float: 1
Preferred vector width double: 1
Native vector width char: 4
Native vector width short: 2
Native vector width int: 1
Native vector width long: 1
Native vector width float: 1
Native vector width double: 1
Max clock frequency: 1000Mhz
Address bits: 32
Max memory allocation: 1073741824
Image support: Yes
Max number of images read arguments: 128
Max number of images write arguments: 8
Max image 2D width: 16384
Max image 2D height: 16384
Max image 3D width: 2048
Max image 3D height: 2048
Max image 3D depth: 2048
Max samplers within kernel: 16
Max size of kernel argument: 1024
Alignment (bits) of base address: 2048
Minimum alignment (bytes) for any datatype: 128
Single precision floating point capability
Denorms: No
Quiet NaNs: Yes
Round to nearest even: Yes
Round to zero: Yes
Round to +ve and infinity: Yes
IEEE754-2008 fused multiply-add: Yes
Cache type: Read/Write
Cache line size: 64
Cache size: 16384
Global memory size: 2408579072
Constant buffer size: 65536
Max number of constant args: 8
Local memory type: Scratchpad
Local memory size: 32768
Kernel Preferred work group size multiple: 64
Error correction support: 0
Unified memory for Host and Device: 0
Profiling timer resolution: 1
Device endianess: Little
Available: Yes
Compiler available: Yes
Execution capabilities:
Execute OpenCL kernels: Yes
Execute native function: No
Queue properties:
Out-of-Order: No
Profiling : Yes
Platform ID: 0x00007f00439c7080
Name: Tahiti
Vendor: Advanced Micro Devices, Inc.
Device OpenCL C version: OpenCL C 1.2
Driver version: 1445.5 (VM)
Profile: FULL_PROFILE
Version: OpenCL 1.2 AMD-APP (1445.5)
Extensions: cl_khr_fp64 cl_amd_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_gl_sharing cl_ext_atomic_counters_32 cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_media_ops2 cl_amd_popcnt cl_khr_image2d_from_buffer cl_khr_spir cl_khr_gl_event
Device Type: CL_DEVICE_TYPE_CPU
Device ID: 4098
Board name:
Max compute units: 8
Max work items dimensions: 3
Max work items[0]: 1024
Max work items[1]: 1024
Max work items[2]: 1024
Max work group size: 1024
Preferred vector width char: 16
Preferred vector width short: 8
Preferred vector width int: 4
Preferred vector width long: 2
Preferred vector width float: 8
Preferred vector width double: 4
Native vector width char: 16
Native vector width short: 8
Native vector width int: 4
Native vector width long: 2
Native vector width float: 8
Native vector width double: 4
Max clock frequency: 3406Mhz
Address bits: 64
Max memory allocation: 2147483648
Image support: Yes
Max number of images read arguments: 128
Max number of images write arguments: 8
Max image 2D width: 8192
Max image 2D height: 8192
Max image 3D width: 2048
Max image 3D height: 2048
Max image 3D depth: 2048
Max samplers within kernel: 16
Max size of kernel argument: 4096
Alignment (bits) of base address: 1024
Minimum alignment (bytes) for any datatype: 128
Single precision floating point capability
Denorms: Yes
Quiet NaNs: Yes
Round to nearest even: Yes
Round to zero: Yes
Round to +ve and infinity: Yes
IEEE754-2008 fused multiply-add: Yes
Cache type: Read/Write
Cache line size: 64
Cache size: 32768
Global memory size: 4107227136
Constant buffer size: 65536
Max number of constant args: 8
Local memory type: Global
Local memory size: 32768
Kernel Preferred work group size multiple: 1
Error correction support: 0
Unified memory for Host and Device: 1
Profiling timer resolution: 1
Device endianess: Little
Available: Yes
Compiler available: Yes
Execution capabilities:
Execute OpenCL kernels: Yes
Execute native function: Yes
Queue properties:
Out-of-Order: No
Profiling : Yes
Platform ID: 0x00007f00439c7080
Name: Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz
Vendor: GenuineIntel
Device OpenCL C version: OpenCL C 1.2
Driver version: 1445.5 (sse2,avx)
Profile: FULL_PROFILE
Version: OpenCL 1.2 AMD-APP (1445.5)
Extensions: cl_khr_fp64 cl_amd_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_gl_sharing cl_ext_device_fission cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_media_ops2 cl_amd_popcnt cl_khr_spir cl_amd_svm cl_khr_gl_event
Platform Profile: FULL_PROFILE
Platform Version: OpenCL 1.2 AMD-APP (1445.5)
Platform Name: AMD Accelerated Parallel Processing
Platform Vendor: Advanced Micro Devices, Inc.
Platform Extensions: cl_khr_icd cl_amd_event_callback cl_amd_offline_devices cl_amd_hsa
Platform Name: AMD Accelerated Parallel Processing
Number of devices: 2
Device Type: CL_DEVICE_TYPE_GPU
Device ID: 4098
Board name: AMD Radeon HD 7900 Series
Device Topology: PCI[ B#1, D#0, F#0 ]
Max compute units: 28
Max work items dimensions: 3
Max work items[0]: 256
Max work items[1]: 256
Max work items[2]: 256
Max work group size: 256
Preferred vector width char: 4
Preferred vector width short: 2
Preferred vector width int: 1
Preferred vector width long: 1
Preferred vector width float: 1
Preferred vector width double: 1
Native vector width char: 4
Native vector width short: 2
Native vector width int: 1
Native vector width long: 1
Native vector width float: 1
Native vector width double: 1
Max clock frequency: 1000Mhz
Address bits: 32
Max memory allocation: 1073741824
Image support: Yes
Max number of images read arguments: 128
Max number of images write arguments: 8
Max image 2D width: 16384
Max image 2D height: 16384
Max image 3D width: 2048
Max image 3D height: 2048
Max image 3D depth: 2048
Max samplers within kernel: 16
Max size of kernel argument: 1024
Alignment (bits) of base address: 2048
Minimum alignment (bytes) for any datatype: 128
Single precision floating point capability
Denorms: No
Quiet NaNs: Yes
Round to nearest even: Yes
Round to zero: Yes
Round to +ve and infinity: Yes
IEEE754-2008 fused multiply-add: Yes
Cache type: Read/Write
Cache line size: 64
Cache size: 16384
Global memory size: 2408579072
Constant buffer size: 65536
Max number of constant args: 8
Local memory type: Scratchpad
Local memory size: 32768
Kernel Preferred work group size multiple: 64
Error correction support: 0
Unified memory for Host and Device: 0
Profiling timer resolution: 1
Device endianess: Little
Available: Yes
Compiler available: Yes
Execution capabilities:
Execute OpenCL kernels: Yes
Execute native function: No
Queue properties:
Out-of-Order: No
Profiling : Yes
Platform ID: 0x00007f00439c7080
Name: Tahiti
Vendor: Advanced Micro Devices, Inc.
Device OpenCL C version: OpenCL C 1.2
Driver version: 1445.5 (VM)
Profile: FULL_PROFILE
Version: OpenCL 1.2 AMD-APP (1445.5)
Extensions: cl_khr_fp64 cl_amd_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_gl_sharing cl_ext_atomic_counters_32 cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_media_ops2 cl_amd_popcnt cl_khr_image2d_from_buffer cl_khr_spir cl_khr_gl_event
Device Type: CL_DEVICE_TYPE_CPU
Device ID: 4098
Board name:
Max compute units: 8
Max work items dimensions: 3
Max work items[0]: 1024
Max work items[1]: 1024
Max work items[2]: 1024
Max work group size: 1024
Preferred vector width char: 16
Preferred vector width short: 8
Preferred vector width int: 4
Preferred vector width long: 2
Preferred vector width float: 8
Preferred vector width double: 4
Native vector width char: 16
Native vector width short: 8
Native vector width int: 4
Native vector width long: 2
Native vector width float: 8
Native vector width double: 4
Max clock frequency: 3406Mhz
Address bits: 64
Max memory allocation: 2147483648
Image support: Yes
Max number of images read arguments: 128
Max number of images write arguments: 8
Max image 2D width: 8192
Max image 2D height: 8192
Max image 3D width: 2048
Max image 3D height: 2048
Max image 3D depth: 2048
Max samplers within kernel: 16
Max size of kernel argument: 4096
Alignment (bits) of base address: 1024
Minimum alignment (bytes) for any datatype: 128
Single precision floating point capability
Denorms: Yes
Quiet NaNs: Yes
Round to nearest even: Yes
Round to zero: Yes
Round to +ve and infinity: Yes
IEEE754-2008 fused multiply-add: Yes
Cache type: Read/Write
Cache line size: 64
Cache size: 32768
Global memory size: 4107227136
Constant buffer size: 65536
Max number of constant args: 8
Local memory type: Global
Local memory size: 32768
Kernel Preferred work group size multiple: 1
Error correction support: 0
Unified memory for Host and Device: 1
Profiling timer resolution: 1
Device endianess: Little
Available: Yes
Compiler available: Yes
Execution capabilities:
Execute OpenCL kernels: Yes
Execute native function: Yes
Queue properties:
Out-of-Order: No
Profiling : Yes
Platform ID: 0x00007f00439c7080
Name: Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz
Vendor: GenuineIntel
Device OpenCL C version: OpenCL C 1.2
Driver version: 1445.5 (sse2,avx)
Profile: FULL_PROFILE
Version: OpenCL 1.2 AMD-APP (1445.5)
Extensions: cl_khr_fp64 cl_amd_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_gl_sharing cl_ext_device_fission cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_media_ops2 cl_amd_popcnt cl_khr_spir cl_amd_svm cl_khr_gl_event
Wird die Grafikkarte nicht aufgeführt, lief irgendwas schief.
3. Installation von BOINC
3.1 Boinc wird eigentlich nicht installiert, sondern nur entpackt. Heruntergeladen wird die aktuelle stable-Version von HIER.
3.2 Das wird mit
sh boinc_7.2.42_x86_64-pc-linux-gnu.sh
entpackt. Nun hängt da ein Ordner BOINC rum.
3.2 Wir wollen ja nicht immer eine Konsole auf haben, in der der Client läuft. Dafür gibt es ein supertolles Programm namens screen. Das schnappen wir uns mit
sudo apt-get install screen
3.3 Jetzt gehen wir mit
cd BOINC
in den Boinc-Ordner. Dort können wir mit
screen ./run_client
nun den Client starten. Jetzt machen wir uns die tollen Eigenschaften von Screen zunutze. Mit dem Drücken von STR+A auf der Tastatur und einem anschließenden Druck auf D minimiert sich Screen und wir sind wieder in der alten Konsole. Und der Client rennt auf der virtuellen Konsole im Screen munter weiter. Und wenn wir wieder an den Client müssen aus irgendwelchen Gründen? Ganz simpel: mit
screen –r
holen wir die virtuelle Konsole mit dem Client wieder nach vorne. Haben wir mehrere Screens am Laufen, werden uns die laufenden Screens angezeigt. Mit der Prozess-ID können wir die einzelnen Screens wieder öffnen.
screen –r 33475
für den Screen mit der Prozess-ID 33475.
3.4 So, da der Client im Screen rennt, öffnen wir uns mit
./run_manager
den BOINC-Manager. Es sollte nun die Karte als OpenCL-Device angezeigt werden und nutzbar sein!
4. Eine Einführung in amdconfig, welches das CCC unter Windows ersetzt, da das CCC unter Linux (wie von mickythebeagle bereits bemerkt) ein Witz ist. Wichtiges zum Betrieb mehrerer AMD-Grafikkarten in einem PC. Diese haben Device-IDs, welche man sich mit
amdconfig --list-adapters
anzeigen lassen kann. Will man nun eine spezielle Grafikkarte ansprechen, so macht man das mit
amdconfig --adapter=0 --BEFEHL
Bevor ihr versucht, einer Karte eine Taktrate zuzuweisen und dabei versehentlich die 1000 MHz für die HD7970 auch der HD5850 aufdrückt, probiert es am besten mit einem harmlosen Befehl wie --odgt oder --odgc aus.

4.1 Hardware-Parameter auslesen. Ob es der Grafikkarte unter der Belastung durch Milkyway oder Collatz noch thermisch gut geht, findet man mit
amdconfig --odgt
heraus. od steht hier für "OverDrive" und gt für "GetTemperature".
Will man darüber hinaus auch die Taktraten und die Auslastung der GPU in Prozent [%] auslesen, so bietet sich
amdconfig --odgc
an. gc steht hier für "GetClocks".
4.2 Hardware-Parameter ändern. Overclocking! Der Heilige Gral für Cruncher, um auch das letzte Bisschen Leistung aus den Karten zu pressen. Aber nicht übertreiben und immer auf Rechenfehler achten! Testet die neuen Taktraten immer mit einem Projekt, welches die Ergebnisse gegenrechnen lässt. Milkyway und Einstein eignen sich dafür. Zunächst muss das Overclocking erst einmal freigeschaltet werden. Damit akzeptiert man den damit einhergehenden Garantieverlust.
amdconfig --od-enable
Ein entpsrechender Hinweis erscheint und es kann los gehen. Mit
amdconfig --od-setclocks=500,1200
setzt man einen Coretakt von 500 MHz und einen Ramtakt von 1200 MHz. Die Grenzen für die Übertaktung gibt das Tool vor und lassen sich per
amdconfig --odgc
auslesen. Hier findet man nun die neu eingestellten Taktraten. Diese sind aber nach einem Neustart wieder auf Standard gestellt. Ist man mit den gewählten Taktraten zufrieden und möchte diese dauerhaft setzen, so nutzt man
amdconfig --odcc
Hat man es sich anders überlegt, oder nötigt einen die durch den Pentathlon ausgelöste Hitzewelle dazu, so kann man mittels
amdconfig --odrd
die Default-Werte der Karte wiederherstellen.
4.3 Die Lüftersteuerung lässt sich auch per Konsole bearbeiten. Will man seine Lüfter auf eine bestimmte Geschwindigkeit setzen, so benutzt man
amdconfig --pplib-cmd "set fanspeed DEVICE-ID PROZENT"
und das sieht dann, wenn man seine Karte mit der ID 0 auf 100% dauerhafte Lüftergeschwindigkeit setzen will wiefolgt aus:
amdconfig --pplib-cmd "set fanspeed 0 100"
Will man wieder auf den Automatikbetrieb wechseln, kann man entweder den Rechner neu starten oder aber die Automatik folgendermaßen wieder aktivieren:
amdconfig --pplib-cmd "set fanspeed 0 auto"
Hat man mehrere Karten, muss man die Device ID halt entsprechend der Karte anpassen. Siehe oben.
4.4 Durchgehende Überwachung der Parameter. führt man die --odgc oder --odgt Befehle in der Konsole aus, bekommt man den aktuellen Wert ausgegeben. Für eine kontinuierliche Ausgabe gibt uns AMD kein Tool mit, dafür hat aber Linux bereits eines an Bord. Unser Kumpel für diesen Fall heisst watch. Angenommen, wir wollen kontinuerlich die GPU-Temperatur überwachen, so benutzen wir
watch amdconfig --odgt
um uns in der aktuellen Konsole die Temperatur anzeigen zu lassen. Watch erneuert dann standardmässig alle 2 s die Abfrage des Befehls mit dem jeweils aktuellen Wert. Möchte man eine schnellere oder langsamere Anzeige haben, so lässt sich dieser Wunsch per Option an watch übergeben. Ich möchte alle 0.5 s den Temperaturwert aktualisiert haben, also
watch -n 0,5 amdconfig --odgt
Und schon wird es mir angezeigt.
4.4.1 Überwachung von amdconfig per GUI-Tool. Für die Windows-Verwöhnten und Konsolenhasser nach einem Tipp von cyrusNGC_224 (Danke an dieser Stelle dafür).
HIER kann man sich AMDOverdriveControl runterladen. Man bekommt ein deb-Installatiospaket, welches man via
sudo dpkg -i amdoverdrivectrl_1.2.7_amd64.deb
installieren kann. Die Anwendung sollte dann im Programme-Menü auftauchen. Ich kann das hier NICHT TESTEN, weil Nvidia-GraKa. Sollte aber so funktionieren. Bitte daher um Rückmeldung, falls es nicht geht.
4.5 Überwachung der restlichen PC-Temperaturen. Da auch der Prozessor und das Mainboard Temperatursensoren und die Lüfteranschlüsse Drehzahlsensoren haben, will ich hier kurz sensors vorstellen. Das Programm wird mit
sudo apt-get install lm-sensors
installiert. Nun muss das Programm noch die vorhandenen Sensoren einlesen. Das machen wir einmalig nach der Installation mittels
sudo sensors-detect
Jetzt werden wir gefragt, welche Sensoren da abgetastet werden sollen. Meiner Erfahrung nach einfach alle mit yes abtasten lassen und bei der Nachfrage nach dem Kernelmodul auch mit yes antworten, damit sensors immer zur Verfügung steht. Nach einem Neustart ist das Kernelmodul geladen und wir können die Werte mit
sensors
abfragen. Hier ist natürlich auch wieder watch von Interesse, mit welchem wir einfach die Werte beim Crunchen überwachen können.
watch sensors
Das soll es hier auch erst einmal mit der Überwachung der Hardware sein soweit.
5. Der Headless-Betrieb! Jetzt geht es ans Eingemachte, aber trotzdem keine Angst davor haben. Es wird in diesem Kapitel eine kleine Übung für einen Konsolen-basierten Texteditor geben. Den braucht man später dann auch, um Boinc remote zu konfigurieren.
Wer träumt nicht davon, einfach 50 Rechner herumstehen zu haben, auf welche man durch einen einzigen PC bequem zugreifen kann und auch systemrelevante Aufgaben durchführen kann? Und dabei noch keinerlei CPU/GPU-Last durch einen graphischen Desktop.... für den Cruncher ein Traum. Dank aktueller AMD-Treiber jetzt auch im Crunching-Betrieb mit GPUs kein Problem mehr! Aber eines nach dem Anderen....
5.1 Den Fernzugriff ermöglichen. Wir benötigen einen ssh-server, um dann später per SSH auf den Rechner zugreifen zu können. Den installieren wir uns mit
sudo apt-get install openssh-server
5.2 Den Fernzugriff nutzen unter Windows. Man lädt sich Putty runter. Das kann man dann starten und trägt die IP-Adresse des Linux-Rechners ein und verbindet. Man wird nach Login und Passwort gefragt und schon seit ihr auf eurem Rechner.
5.3 OpenCL headless ermöglichen. Der wohl schwierigste Teil der ganzen Reise. Zunächst die Anleitung für den Gnome3-Desktop, da diese deutlich kürzer und einfacher ist. Gnome verwendet den Display Manager GDM, wohingegen Unity (der Windowmanager von Ubuntu) den Display Manager LightDM verwendet.
5.4 Headless mit GDM. Quelle: http://www.mayankdaga.com/running-opencl-applications-remotely-on-amd-gpus/
Zunächst müssen wir als root einige Systemdateien ändern. Zum einen
sudo nano /etc/gdm/init/Default
hier muss noch vor dem Ende der Datei (Die 0 am Ende) folgendes eingetragen werden:
xhost +
chmod uog+rw /dev/ati/card*
Danach müssen wir der Konsole noch mitteilen, wie das mit dem X-Server laufen soll. Dafür müssen wir auch wieder in einer Systemdatei herumfummeln.
sudo nano /etc/bashrc
in welcher wir dann folgende Zeilen hinzufügen müssen:
case $DISPLAY in '') export DISPLAY=:0;; *) ;; esac
WICHTIG: die '' sind zwei einzel-Symbole und nicht das einfache Anführungszeichen!
Wenn alles gespeichert ist, dann sollte nach einem Neustart OpenCL auch per SSH zugängig sein. Also einfach
clinfo
per SSH ausführen und schauen, ob die Karte
5.5 Headless mit LightDM.
-to do-
Zuletzt bearbeitet: