Replies: 13 comments 2 replies
-
ハードウェアアクセラレーションについて考えたことはありませんでした。確認してみます。 |
Beta Was this translation helpful? Give feedback.
-
とりあえず思いつくのは、このDockerイメージでベースとしている |
Beta Was this translation helpful? Give feedback.
-
この件について、Twitterにてinata39さんより以下のアドバイスをいただきました。
確認してみます。 |
Beta Was this translation helpful? Give feedback.
-
以下のコマンドでNVIDIA Container Toolkitを利用したコンテナを起動してみました。
デスクトップ環境がGPUを利用できてないようで、X11やgzclientが 参考までに以下がGPUが有効になっているPC上で(Docker上ではなく)、Gazeboを起動した際の GazeboがGPUを利用できているので
|
Beta Was this translation helpful? Give feedback.
-
回答が遅れまして申し訳ありません。上記お試し頂きありがとうございます。 また、本件について色々調べていたところ以下記事を見つけました。直接のLinuxPC環境ではないですが、何か私の方でも確認できましたら共有させて頂きます。 |
Beta Was this translation helpful? Give feedback.
-
以下を参考にしてnvidia-dockerをインストールした後、 同サイトの「GPU 付きコンテナの起動方法」を試しましたが、
Tiryohさんに用意頂いたコマンドでも同様です。
他サイトをみると、「コンテナの中でnvidia-smiが実行できたら成功」みたいな表現はあるので、 更に他サイトをみると、 ちなみに、用意頂いたコマンドを実行すると、ブラウザからlocalhost:6080 で入れなくなるのですが何かご存知でしょうか、、? |
Beta Was this translation helpful? Give feedback.
-
バタバタしててお返事できてませんでした
上記の質問、解決したようですが、記録のためコメントしておきます。
という状況です。
はい、同じように考えています。
こちらでは特にWebブラウザからアクセスできなくなることはありませんでした。何かエラー等は出ていますか? |
Beta Was this translation helpful? Give feedback.
-
ちょっと時間があいてしまいましたが、GPUを利用したイメージの作成について調べてみました。 Xvfbでデスクトップアプリケーションを起動していますが、これがGPUを利用できていないようです。 普段利用しているデスクトップアプリケーションとは別に、Docker内でGPUを利用してデスクトップアプリケーションを実行する例はあまりないようです。
ryought/glx-docker-headless-gpuやwillkessler/nvidia-docker-novncのようにGCPやAWS上の仮想マシンで実行している例はあるようですが、これはそのまま手元のマシンで実行するには不向きでした。
https://7me.nobiki.com/2019/11/11/xorg-virtual-screen-with-nvidia-gpu/ そのためryought/glx-docker-headless-gpuのDockerfile#L54-L77のようにDockerfile内でnvidia-installerを実行する必要がありそうで、汎用的に使うのは難しそうです。 また機会があれば調べてみますが、難しそうというのがわかったところでこの件は一旦保留にしたいと思います。 |
Beta Was this translation helpful? Give feedback.
-
すみません、丁寧に回答頂きありがとうございます。 また、docker内のGPUを利用してる方はもっと多いと思っていたのですがあまり事例がないのですね。 また何か分かりましたらアップデートさせて頂きますが、一旦保留で問題ございません。 |
Beta Was this translation helpful? Give feedback.
-
レスポンスありがとうございます。ご質問頂いて私も気になったので調べた結果をメモしてみました。 ツールを色々組み合わせているからだと思いますが、私もそれぞれのツールの使い方をなんとなくわかった程度です。 |
Beta Was this translation helpful? Give feedback.
-
@Tiryoh Thanks for building a great docker image. |
Beta Was this translation helpful? Give feedback.
-
https://github.com/atinfinity/nvidia-egl-desktop-ros2 こちらのDockerfileでGPUを利用してGazeboを実行できることを確認しました。 https://github.com/ehfd/docker-nvidia-egl-desktop がベースになっているようです。 |
Beta Was this translation helpful? Give feedback.
-
素晴らしいDockerイメージを作っていただき、本当に感謝致します。 動作報告になりますが、/etc/apt/sources.listのミラーがうまく動かないなどの問題があったので、下記のようなDockerfileを作成し、CondaのPyTorch環境との共存と、CUDA-10.2のincludeの利用やnvccのインストールなども問題なくできました。
FROM tiryoh/ros-desktop-vnc:melodic-cuda-10.2
COPY sources.list /etc/apt/sources.list
RUN sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
RUN curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
RUN rm /etc/apt/sources.list.d/cuda*
RUN rm /etc/apt/sources.list.d/nvidia*
RUN wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
RUN mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
RUN apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
RUN apt-key del 7fa2af80
RUN wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-keyring_1.0-1_all.deb
RUN dpkg -i cuda-keyring_1.0-1_all.deb
RUN add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /"
RUN apt update
WORKDIR /opt
RUN wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh && \
sh Miniconda3-latest-Linux-x86_64.sh -b -p /opt/miniconda3 && \
rm -r Miniconda3-latest-Linux-x86_64.sh
ENV PATH $PATH:/opt/miniconda3/bin
RUN conda create -n py38 python=3.8.16
RUN conda init bash
COPY cuda-10.2/include /usr/local/cuda-10.2/include
RUN bash -c "source activate py38 && conda install pytorch==1.9.1 torchvision==0.10.1 torchaudio==0.9.1 -c pytorch"
COPY cuda-10.2/bin /usr/local/cuda-10.2/bin
COPY cuda-10.2/nvml /usr/local/cuda-10.2/nvml
COPY cuda-10.2/nvvm /usr/local/cuda-10.2/nvvm
COPY cuda-10.2/nvvmx /usr/local/cuda-10.2/nvvmx
RUN chmod 777 /opt/miniconda3/envs/py38/lib/python3.8/site-packages/
RUN bash -c "conda config --set auto_activate_base false"
ENV PATH $PATH:/usr/local/cuda/nvvm/bin
|
Beta Was this translation helpful? Give feedback.
-
docker_ros-desktop-vnc docker内でgazebo起動時にハードウェアアクセラレーションする方法について質問があります。
通常、docker内ではgpuは使えないと認識しています。そのため、docker内でgazeboを使うと、docker外でgazeboを使う場合と比べてrealtimefatorが低く出る傾向があると認識しています。
nvidia dockerを使えばこれが解決できるかもと考えているのですが、何かご存知ありませんでしょうか。。
Beta Was this translation helpful? Give feedback.
All reactions