Laufen OpenGL auf AWS-GPU-instances, die mit CentOS

Ich ausführen müssen, einige off-screen-rendering-Programm auf AWS EC2-GPU-Instanz mit CentOS. Während jedoch fand ich, dass Ubuntu sehr einfach zu setup, kann ich nicht zulassen, CentOS funktionieren.

Ziel ist es, einige wesentliche Tools/test-Tools, die in EC2-GPU-Instanz (ohne screen oder X-client). Im folgenden Artikel werde ich beschreiben, wie das Ubuntu-setup kann und wie CentOS/Amazon Linux AMI fehl.

Ubuntu

Auf ubuntu 12.04, alles funktioniert reibungslos. Die EC2-Umgebung, die ich verwendet sind:

  • Instance-Typ: Sowohl CG1 und G2 wurden getestet und funktionierte einwandfrei.
  • AMI Bild: Ubuntu Server 12.04.3 LTS für HVM-Instanzen (ami-b93264d0 in US-East)
  • Die meisten anderen Einstellungen sind Standard.

Nachdem die Instanz gestartet wird, die folgenden Befehle ausgeführt werden:

# Install the Nvidia driver
sudo apt-add-repository ppa:ubuntu-x-swat/x-updates
sudo apt-get update
sudo apt-get install nvidia-current
# Driver installation needs reboot
sudo reboot now

# Install and configure X window with virtual screen
sudo apt-get install xserver-xorg libglu1-mesa-dev freeglut3-dev mesa-common-dev libxmu-dev libxi-dev
sudo nvidia-xconfig -a --use-display-device=None --virtual=1280x1024
sudo /usr/bin/X :0 &

# OpenGL programs are now workable. Ex. glxinfo, glxgears
DISPLAY=:0 glxinfo

Den glxgears können auch im hintergrund laufen, ohne körperliche screen oder X-client:

$ DISPLAY=:0 glxgears
95297 frames in 5.0 seconds = 19059.236 FPS
95559 frames in 5.0 seconds = 19111.727 FPS
94173 frames in 5.0 seconds = 18834.510 FPS

CentOS oder Amazon Linux AMI

Beide "CentOS" und "Amazon Linux AMI" sind abgeleitet von Red Hat Enterprise edition. Jedoch, ich kann keine von Ihnen Arbeit.

Vor ein paar Tagen, AWS angekündigt, Ihre neue G2-instance-Typ. In diesem Artikel werden die Amazon Linux AMI mit NVIDIA-Treiber wird empfohlen, für die Linux-Plattform. In diesem AMI, der Nvidia Treiber, X-window-und OpenGL-Bibliotheken sind alle installiert. Jedoch bekomme ich nur GLX-Fehlermeldungen, wenn Sie versuchen zum ausführen von OpenGL-Programmen.

Die EC2-Instanz gestartet wird mit der folgenden Einstellung:

  • AMI Bild: Amazon Linux AMI mit NVIDIA GRID GPU-Treiber (ami-637c220a in US-East)
  • Instance-Typ: G2
  • Die meisten anderen Einstellungen sind Standard

Nachdem Sie gestartet ist, die Schritte zum reproduzieren dieses Problems ist sehr einfach:

sudo X :0 & # Start the X window
glxinfo
glxgears

Ausgabe:

$ glxinfo
name of display: :0
Xlib:  extension "GLX" missing on display ":0".
Xlib:  extension "GLX" missing on display ":0".
Xlib:  extension "GLX" missing on display ":0".
Xlib:  extension "GLX" missing on display ":0".
Xlib:  extension "GLX" missing on display ":0".
Error: couldn't find RGB GLX visual or fbconfig

Xlib:  extension "GLX" missing on display ":0".
Xlib:  extension "GLX" missing on display ":0".
Xlib:  extension "GLX" missing on display ":0".
Xlib:  extension "GLX" missing on display ":0".
Xlib:  extension "GLX" missing on display ":0".

$ glxgears
Xlib:  extension "GLX" missing on display ":0".
Error: couldn't get an RGB, Double-buffered visual

Wird der folgende Fehler ist gefunden in /var/log/Xorg.0.log:

[139017.484] (EE) Failed to initialize GLX extension (Compatible NVIDIA X driver not found)

Ich habe gegoogelt und versucht, eine Menge mögliche Lösung, wie zum Beispiel:

  • Mit dem clean CentOS HVM AMI und installieren der Nvidia-Treiber manuell
  • Versucht, sowohl die CG1/G2-instance-Typen
  • Regenerieren das X-window-Konfiguration mit nvidia-xconfig
  • Verwenden Xvfb statt des X-window -
  • Neuinstallation der Nvidia-Treiber nach der mesa-Bibliotheken installiert sind

... aber keiner von Ihnen arbeitet.

Hat jemand eine konkrete Lösung für dieses Problem? Alles, was ich erwähnen sollte reproduzierbar sein (ich habe viele Male versucht). Ich werde zu schätzen, wenn Sie reproduzierbare Anweisungen, um OpenGL (GLX) arbeitet auf EC2 GPU instances mit CentOS/Amazon Linux AMI.

InformationsquelleAutor miaout17 | 2013-11-08
Schreibe einen Kommentar