2021年9月15日水曜日

UBUNTU 20.041lts 22.04lts & CUDA & RTX-A6000 (A100、OMEN RTX3090もおなじ)

【「いま」の定義:2023年1月】


以下は、OMENのRTX3090(注:45Lではないやつ=45Lはすこし厄介です)をセットアップしていますが、どのような機種でも基本は同じです(RTX-A6000 やA100など)。UBUNTUは、20.041ltsか22.04ltsの2択ですが、安全をみれば練りに練られた20.041lts。Windowsとのリモートデスクトップ環境をとるなら22.04lts。私の場合はデスクトップのクラゲが好きなので22.04ltsの一択。


【BIOS設定】

BIOSで、セキュアブートはオフにしたほうが無難。インテルのソフトセキュリティも。これをしないとNvidia系のドライバーが認識されなかったり、ネットワークが勝手に切られたりする。されない場合もときにある。結論としては、どちらでもいいか。


【SSD】

OMEN RTX3090の場合、データディスクのHDDを抜いて替わりにSSDを刺し、このSSDにUBUNTUをインストール。WINがいらないという人はM.2にインストール。いままでの経験上、WINを残しても使ったことはなく、なくしてしまったほうがいいかも。

以下は、PredNet in PyTorchとPredNet in Chainerを動かすまでの手順。Prednet以外のAIを使う場合も途中まで同じ。

注)以前はsudo pip3 installでやっていましたが、今はpip3 installで実行しています。pipは階層的にはaptの下と考えれば、そのほうがよさそう。あと、22.04ltsでは、若干異なることろもあり。


CDもしくはUSB(USBでのインストールを強く推奨)でUBUNTUをインストールしたあと、以下のコマンドを順次入力していく。


(まずは)

$ sudo apt update

$ sudo apt upgrade


(ここは個人的な趣味)

$ sudo apt install geany


(ここから本番)

$ sudo apt install python3-pip

$ pip3 install -U setuptools

$ pip3 install -U cython

$ pip3 install -U filelock


https://developer.nvidia.com/cuda-toolkit

あるいはcuda 11.xを利用する場合は、cuda 11.xで検索(いま、cudnnは12がないので、11.xを推奨。また多くのAIコードは12に対応していないので、そういう意味でも11.xを推奨)。


LINUX、x86_64、UBUNTU、22.04、deb(local)と選ぶと下記のような指令。

$ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin

$ sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600

$ wget https://developer.download.nvidia.com/compute/cuda/11.4.2/local_installers/cuda-repo-ubuntu2004-11-4-local_11.4.2-470.57.02-1_amd64.deb

$ sudo dpkg -i cuda-repo-ubuntu2004-11-4-local_11.4.2-470.57.02-1_amd64.deb

$ sudo apt-key add /var/cuda-repo-ubuntu2004-11-4-local/7fa2af80.pub

$ sudo apt-get update

$ sudo apt-get -y install cuda


https://developer.nvidia.com/rdp/form/cudnn-download-survey

ログインして以下をダウンロード

DL: cuDNN Library for Linux (x86_64)


展開してフォルダー名がcudaとし、

cd ###

カレントをフォルダーのあるところへ

$ sudo cp -P cuda/lib/* /usr/local/cuda/lib64/

$ sudo cp cuda/include/* /usr/local/cuda/include/

$ sudo chmod 644 /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*


$ sudo vi ~/.bashrc

vi editor「o」で以下を一番下に付け加える。copy & paste。

====

export CUDA_ROOT=/usr/local/cuda

export PATH=$PATH:/usr/local/cuda/bin

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:

export CPATH=$CPATH:/usr/local/cuda/include

export CUDA_INC_DIR=/usr/local/cuda/bin:$CUDA_INC_DIR

====

「esc」して「:wq」でeditorを抜ける。


$ sudo reboot


$ nvidia-smi

でGPUが認識されているかどうかを確認。

以上で、GPUのセットアップはおわり。


次にPredNet in PyTorch。

興味のない方はここで終わり。


$ sudo apt install git

$ pip3 install opencv-python

$ pip3 install opencv-contrib-python

$ pip3 install tensorflow

$ pip3 install librosa

$ pip3 install matplotlib


$ pip3 install torch==1.8.0+cu111 torchvision==0.9.0+cu111 torchaudio==0.8.0 -f https://download.pytorch.org/whl/torch_stable.html


いまは、以下。時期によっては適宜修正。

$ pip3 install torch==1.13.1+cu117 torchvision==0.14.1+cu117 torchaudio==0.13.1 -f https://download.pytorch.org/whl/torch_stable.html


$ pip3 show torch

Name: torch

Version: 1.8.0+cu111

Summary: Tensors and Dynamic neural networks in Python with strong GPU acceleration

Home-page: https://pytorch.org/

Author: PyTorch Team

Author-email: packages@pytorch.org

License: BSD-3

Location: /usr/local/lib/python3.8/dist-packages

Requires: numpy, typing-extensions

Required-by: torchvision, torchaudio


pip3 install torchviz

pip3 install janome

pip3 install tqdm


cd #

$ git clone https://github.com/NIBB-Neurophysiology-Lab/pytorch_prednet

OR

$ git clone https://github.com/eijwat/prednet_in_pytorch


cd #

$ git remote -v

origin https://github.com/NIBB-Neurophysiology-Lab/pytorch_prednet(fetch)

origin https://github.com/NIBB-Neurophysiology-Lab/pytorch_prednet(push)


cd #

$ git pull https://github.com/NIBB-Neurophysiology-Lab/pytorch_prednet


以下のコマンドでテストラン
$ python3 main.py -s '160,120'


次にPredNet in Chainer。

cd #
git clone https://github.com/NIBB-Neurophysiology-Lab/pcdnn_s11
OR
https://github.com/eijwat/prednet_in_chainer_py3

cd #
git remote -v

origin https://github.com/NIBB-Neurophysiology-Lab/pcdnn_s11 (fetch)
origin https://github.com/NIBB-Neurophysiology-Lab/pcdnn_s11 (push)

$ pip3 install cupy-cuda114

Collecting cupy-cuda114
  Downloading cupy_cuda114-9.5.0-cp38-cp38-manylinux1_x86_64.whl (80.0 MB)
     |████████████████████████████████| 80.0 MB 6.8 MB/s 
Requirement already satisfied: numpy<1.24,>=1.17 in /usr/local/lib/python3.8/dist-packages (from cupy-cuda114) (1.19.5)
Collecting fastrlock>=0.5
  Downloading fastrlock-0.6-cp38-cp38-manylinux1_x86_64.whl (42 kB)
     |████████████████████████████████| 42 kB 279 kB/s 
Installing collected packages: fastrlock, cupy-cuda114
Successfully installed cupy-cuda114-9.5.0 fastrlock-0.6

$ pip3 install chainer

Successfully installed chainer-7.8.0

$ nvcc -V

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Sun_Aug_15_21:14:11_PDT_2021
Cuda compilation tools, release 11.4, V11.4.120
Build cuda_11.4.r11.4/compiler.30300941_0

以下でテストラン
python3 PredNet/main.py -i data/train_list.txt
python3 PredNet/main.py -i data/train_list.txt -g 0



Llama3をUbuntuで動かしてみる

わたしたちのラボでは、GPT-3などLLMを使った心理実験を試みています。以下の実験では色の連想をAIとヒトを比較し、その起源を探っています。 Origin of the ease of association of color names: Comparison between...