Translate

2016年11月11日金曜日

Ubuntu Server 1604 LTS への Cuda インストール手順

前提

  • PC に Cuda対応 GPU搭載ボードを取り付けていること
以下のGPUボードを購入して試しました。



  • 取り付けたボードがCuda対応が不明の場合は CUDA GPUs を参照のこと
  • Ubuntu Server 16.04 LTS を最小構成インストール済みであること
  • https://developer.nvidia.com/ 上のNVIDIA Developer Programアカウントを取得しておくこと

まずCuda本体をインストールする。

SSHサーバ化

  • Ubuntu Server をインストールした PC から sudo 可能なユーザでコンソールログイン
  • 以下のコマンドを実行

    sudo apt update
    sudo apt -y upgrade
    sudo ip addr ← IPアドレスをメモしておく
    sudo apt -y install openssh-server
    sudo reboot


    ※再起動する

IPv6 をオフ

  • クライアントPC上でTera TermなどのSHA2対応したターミナル接続ソフトウェアを起動
  • sudo可能なユーザでログオン
  • 以下のコマンドを実行

    sudo echo "net.ipv6.conf.all.disable_ipv6 = 1" >> /etc/sysctl.conf
    sudo sysctl -p
    sudo reboot


    ※再起動する


vftpdをインストール


クライアントPC上のファイルをアップロードできるように、ftpサーバをインストールする。

  • sudo可能なユーザでログオン


    sudo apt update
    apt -y upgrade
    apt -y install vsftpd

  • sudo vi /etc/vsftpd.conf を実行し、以下の通り編集する

    ...
    # 31行目:コメントアウト
    write_enable=YES
    ...

    # 99,100行目:コメントアウト
    ascii_upload_enable=YES
    ascii_download_enable=YES
    ...

    # 122,123行目:コメントアウト
    chroot_local_user=YES
    chroot_list_enable=YES

    # 125行目:コメントアウト
    chroot_list_file=/etc/vsftpd.chroot_list

    # 131行目:コメントアウト
    ls_recurse_enable=YES

    # 最終行に追加
    seccomp_sandbox=NO

  • 以下のコマンドを実行する

sudo echo "xxxx" > /etc/vsftpd.chroot_list ← "xxxx" はsudo可能ユーザ名に変える
sudo systemctl enable vsftpd
systemctl restart vsftpd

gcc/g++/makeをインストール


Cudaをrunfileからインストールする場合、gccとmakeが必要となる。また、Samplesコードをコンパイルする際には、g++が必要となる。
  •  以下のコマンドを実行する

    apt install gcc g++ make

Cudaダウンロード

  • クライアントPC上でブラウザ起動
  • https://developer.nvidia.com/cuda-downloads を開く
  • Select target platformにて"Linux"、"x86_64"、"Ubuntu"、"16.04"、"runfile(local"を選択
  • Downloadボタンを押し、ファイルをダウンロード
  • ダウンロードしたファイルを cuda_8.0.44_linux.run とする。
  • DOSプロンプトを起動する
  • 以下のコマンドを実行し、Ubuntu Server側へファイルを送信する


    cd C:\hogehoge ←cuda_8.0.44_linux.runのあるフォルダへ移動
    ftp xxx.xxx.xxx.xxx ←メモしたIPアドレスを指定
    bin
    hash
    put cuda_8.0.44_linux.run
    bye
    exit

runfileの実行

  • Ubuntu Server側のコンソールへ戻る
  • 以下のコマンドを実行する
sudo sh cuda_8.0.44_linux.run
..
※何回かスペースを打つ
..
accept ←ライセンスに従う場合
※以下不デフォルト選択でOK(デフォルトがない場合はyes)

cuDNNのダウンロード

  • クライアントPC上でブラウザを起動
  • https://developer.nvidia.com/rdp/cudnn-download を開く
  • 要ログインアカウント、予めログインアカウントを作っておく
  • ユーザID(登録済みメールアドレス) とパスワードを入力しログイン
  • I Agree To the Terms of the cuDNN Software License Agreementをチェック
  • Download cuDNN v5.1 (August 10, 2016), for CUDA 8.0 をクリック
  • 導入したCudaバージョンによる(ここでは8.0.44を導入したため、8.0を選択)。
  • cuDNN v5.1 Library for Linux を選択
  • ファイルをクライアントPC上にダウンロードする(ファイル名をcudnn-8.0-linux-x64-v5.1.tgzとする)ダウンロードしたファイルの拡張子を tgz から tar.gz に変更
  • DOSプロンプトを起動する
  • 以下のコマンドを実行し、Ubuntu Server側へファイルを送信する


    cd C:\hogehoge ←cuda_8.0.44_linux.runのあるフォルダへ移動
    ftp xxx.xxx.xxx.xxx ←メモしたIPアドレスを指定
    bin
    hash
    put cudnn-8.0-linux-x64-v5.1.tar.gz
    bye
    exit


cuDNNのインストール

  • Ubuntu Server側のコンソールへ戻る
  • 以下のコマンドを実行する

    gunzip cudnn-8.0-linux-x64-v5.1.tar.gz
    tar xvf cudnn-8.0-linux-x64-v5.1.tar
    sudo cp -a cuda/lib64/libcudnn* /usr/local/cuda-8.0/lib64/
    sudo cp -a cuda/include/cudnn.h /usr/local/cuda-8.0/include/

0 件のコメント:

o1-previewにナップサック問題を解かせてみた

Azure環境上にあるo1-previewを使って、以下のナップサック問題を解かせてみました。   ナップサック問題とは、ナップサックにものを入れるときどれを何個入れればいいかを計算する問題です。数学では数理最適化手法を使う際の例でよく出てきます。 Azure OpenAI Se...