ラベル nvidia の投稿を表示しています。 すべての投稿を表示
ラベル nvidia の投稿を表示しています。 すべての投稿を表示

2019/09/26

CUDAの導入方法(Ubuntu編)

背景


GPUで並列処理を行うために、CUDAの導入が必要となった。

記事の目的


UbuntuにCUDAを導入する

CUDA


ここでは、CUDAの導入方法について記載する。

CUDAとは

CUDAは、nvidia社が提供する並列処理ライブラリである。

利点

  • 実装に関する情報が豊富である
  • TensorflowやOpenCVなど、機械学習や画像処理に関するツールはが基本的に対応している
  • C言語ライクな記述でプログラミングできる

導入方法

OSやマシンにあったCUDAのインストーラ方法は、公式ページから調べることができる。
今回は、Ubuntu16.04へCUDAを導入する手順について記載する。
  1. CUDAのアーカイブをダウンロードし、aptに登録する
  2. $ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-ubuntu1604.pin
    $ sudo mv cuda-ubuntu1604.pin /etc/apt/preferences.d/cuda-repository-pin-600
  3. OSやマシンにあった承認キーをダウンロードページから探す(今回は、/ubuntu1604/x86_64/7fa2af80.pub)
  4. 承認キーをダウンロードする
  5. $ sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
  6. CUDAのレポジトリを登録する
  7. $ sudo add-apt-repository "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/ /"
  8. CUDAをインストールする
  9. $ sudo apt-get update
    $ sudo apt-get -y install cuda
  10. PCを再起動する
  11. $ sudo reboot

CUDAのサンプルプログラム

CUDAのサンプルプログラムのmake方法は、下記の通りである。
$ /usr/local/cuda-10.1/bin/cuda-install-samples-10.1.sh ~
$ cd ~/NVIDIA_CUDA-10.1_Samples
$ make
上記の場合、~/NVIDIA_CUDA-10.1_Samples内にサンプルプログラムの実行ファイルが作成される。

アンインストール方法

CUDAのアンインストール方法について記載する。
$ sudo apt remove cuda-10-1
$ sudo apt autoremove
$ sudo apt remove libcudnn7 libcudnn7-dev libcudnn7-doc
$ rm -rfv ~/NVIDIA_CUDA-10.1_Samples/

まとめ


  • UbuntuにCUDAを導入する方法ついて調査、記載した

参考文献



変更履歴


  1. 2019/09/26: 新規作成

2019/09/24

NvidiaGPUの温度を取得するスクリプトを作成(Linux)

背景


GPUを搭載したPCでのソフトウェアのヒートランを行った際、GPUの温度をモニタリングする必要があったため、スクリプトを作成した。

記事の目的


NvidiaGPUの温度を取得するスクリプトを作成する

nvidia-smi


ここでは、NvidiaGPUの温度を取得するスクリプトの記述方法について記載する。

スクリプトの作成方法

スクリプトの作成方法は以下の通りである。
  1. スクリプトgpu_temperature_monitoring.shを作成する
  2. #!/bin/bash
    echo "Start to record GPU temperature!"
    DIR_NAME=~/gpu_temperature_log/`date +%Y%m%d`
    LOG_NAME=./`date +%Y%m%d_%H%M%S`_gpu_temperature.log
    mkdir -p $DIR_NAME
    cd $DIR_NAME
    echo "Date,Temperature[C]" >> $LOG_NAME
    while :
    do
        nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader,nounits | awk '{ "date +\"%Y/%m/%d %T\"" | getline var; print var "," $0 }' >> $LOG_NAME
        sleep 1
    done
    exit 0
  3. スクリプトに実行権限を与える
  4. $ chmod 777 ./gpu_temperature_monitoring.sh 

スクリプトの実行方法

実行方法は以下の通りである。
$ ./gpu_temperature_monitoring.sh
Start to record GPU temperature!
~/gpu_temperature_monitoring_log/日付/にGPU温度のログが作成される
$ less ./gpu_temperature_log/20190923/20190923_234227_gpu_temperature.log
Date,Temperature[C]
2019/09/23 23:42:27,51
2019/09/23 23:42:28,51
2019/09/23 23:42:29,51
2019/09/23 23:42:30,52

まとめ


  • NvidiaGPUの温度を取得するスクリプトを作成した

参考文献



変更履歴


  1. 2019/09/24: 新規作成

MQTTの導入

背景 IoTデバイスの接続環境構築のため、MQTT(mosquitto)の導入を行った。 記事の目的 MQTT(mosquitto)をUbuntuに導入する mosquitto ここではmosquittoについて記載する。 MQTT MQTT(Message Qu...