22

CentOS を使用して AWS EC2 GPU インスタンスでオフスクリーン レンダリング プログラムを実行する必要があります。ただし、Ubuntu はセットアップが非常に簡単であることがわかりましたが、CentOS を適切に動作させることはできません。

目標は、EC2 GPU インスタンス (画面または X クライアントなし) でいくつかの重要なユーティリティ/テスト ツールを実行することです。次の記事では、Ubuntu をセットアップする方法と、CentOS/Amazon Linux AMI が失敗する方法について説明します。

Ubuntu

ubuntu 12.04 では、すべてが非常にスムーズに動作します。私が使用したEC2環境は次のとおりです。

  • インスタンスタイプ: CG1 と G2 の両方がテストされ、正常に動作しました。
  • AMI イメージ: HVM インスタンス用の Ubuntu Server 12.04.3 LTS (米国東部では ami-b93264d0)
  • 他の設定のほとんどはデフォルトです。

インスタンスの起動後、次のコマンドが実行されます。

# 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

glxgears、物理画面または X クライアントなしでバックグラウンドで実行することもできます。

$ 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 または Amazon Linux AMI

「CentOS」と「Amazon Linux AMI」はどちらも Red Hat Enterprise エディションから派生しています。ただし、それらのいずれも機能させることはできません。

数日前、AWSは新しい G2 インスタンス タイプを発表しました。この記事では、NVIDIA ドライバーを使用した Amazon Linux AMI がLinux プラットフォームに推奨されます。この AMI には、Nvidia ドライバー、X ウィンドウ、および OpenGL ライブラリがすべてインストールされています。ただし、OpenGL プログラムを実行しようとすると、GLX エラー メッセージが表示されます。

EC2 インスタンスは、次の設定で起動されます。

  • AMI イメージ: NVIDIA GRID GPU ドライバーを使用した Amazon Linux AMI (米国東部では ami-637c220a)
  • インスタンスタイプ: G2
  • 他のほとんどの設定はデフォルトです

起動後、この問題を再現する手順は非常に簡単です。

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

出力は次のとおりです。

$ 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

次のエラーが に見つかりました/var/log/Xorg.0.log:

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

私はググって、次のような多くの可能な解決策を試しました:

  • クリーンな CentOS HVM AMI を使用し、Nvidia ドライバーを手動でインストールする
  • CG1/G2 インスタンス タイプの両方を試した
  • nvidia-xconfig で X ウィンドウ構成を再生成します。
  • X ウィンドウの代わりに Xvfb を使用する
  • mesa ライブラリのインストール後に Nvidia ドライバーを再インストールする

...しかし、どれも機能しません。

誰かがこの問題の具体的な解決策を持っていますか? 私が言及したことはすべて再現可能でなければなりません(私は何度も試しました)。CentOS/Amazon Linux AMI を使用して EC2 GPU インスタンスで OpenGL (GLX) を動作させるための再現可能な手順を提供していただければ幸いです。

4

2 に答える 2

16

lspci | grep VGA

が表示されるはずbusIDです0:3:0

sudo を使用して、次のように xorg.conf に追加します。

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GRID K520"
    BusID           "0:3:0"
EndSection

これにより、GLX の障害が修正されるはずです。

于 2013-11-09T12:03:32.230 に答える