フォトグラメトリのADOPをAWSで動かすことに成功したので備忘メモ
ADOPとは
以下です。
https://github.com/darglein/ADOP
フォトグラメトリのライブラリで、NvidiaのGPUが載ったubuntu18とubuntu20に対応しています。
これをAWSで動かそうと悪戦苦闘したら動いたので報告
動作環境
動作確認環境は、 g3.4xlargeとg4dn.4xlarge。
ubuntu 20.04で動作確認。18では動作確認してません。
ハマリポイント
NICE DCVでUbuntuに繋ぐ必要がある
これは使用するOpenGLの問題で、RemoteDesktop(RDP)でつなぐとどうしてもOpenGLがMesaになってしまってうまく動作してくれない。
最初、MacからRDPでアクセスしても最後の最後でOpenGLエラーで動かなくなってしまっていたが、
Ubuntu内にNICE DCVサーバを立てて、NICE DCVでつなぐと、NvidiaのOpenGLが動いてくれる。
以下を参考にしながらインストールすると良い。
https://docs.aws.amazon.com/ja_jp/dcv/latest/adminguide/setting-up-installing.html
Adop viewerがビルドされないときはライブラリが足りない
このIssueが役に立つ
https://github.com/darglein/ADOP/issues/43
以下を入れると生成される。
sudo apt install qtbase5-dev qttools5-dev-tools qt5-default
LD_LIBRARY_PATHはフルパスで指定する
README( https://github.com/darglein/ADOP/tree/main/src )には以下にように指定するように書いてあるが
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:~/anaconda3/envs/adop/lib #動かない可能性あり
このままでは動作しなかった。
正しくは以下のように指定する必要がある([user]部分はご自身の環境に合わせて書き換えてください)
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/home/[user]/anaconda3/envs/adop/lib
上記の3つのポイントを押さえると、うまく動かすことができます。
(ただし動作はカクカクです)
インストール手順
上記の注意点を押さえながら公式の手順に従ってインストールをしていけばOKです。
https://github.com/darglein/ADOP/tree/main/src
ただ、ここに書かれていないこととして build_adop.sh
というファイルがあります。
これは、4.Build ADOP の部分を補完してくれるので、install_pytorch.sh
が済んだあとはbuild_adop.sh
を実行しちゃえばOKです。
実行
ビルドさえ済んじゃえば、あとは sceneとexperimentsをダウンロードしてきて配置し、書いてあるとおり実行すれば動作します。
ただし、実行するときはNICE DCVで接続することをお忘れなく
NICE DCVでつなぐときは、SSHでubuntuにつなぎ、以下を実行
# サーバ起動
sudo systemctl start dcvserver
# セッションの作成 (my-session部分は好きに変更可能)
dcv create-session my-session
できたら、NICE DCVを起動して
接続先を以下のようにする([ubuntu_ip]部分はご自身のEC2のIPにしてください)
[ubuntu_ip]:8443#my-session
すると、なんかのSSLの警告画面が出るのでTrustかProseedを選ぶとID/PASSを入力する画面が出るので
作成したユーザでログインすればOKです。