Hyades
JASMINE チームで使用している共用計算機 Hyades の初期設定について記述します. OS は Ubuntu がインストールされています.
Console setting
~/.bash_aliases
に以下の設定を追加しました.
#!/bin/bash
export PAGER="less"
alias emacs='emacs -nw'
alias rm='rm -i'
alias mv='mv -i'
alias cp='cp -i'
Git setting
Git の基本設定をします. global 設定の内容は以下のとおりです.
$ git config -l --global
user.name=Ryou Ohsawa
[email protected]
push.default=simple
color.ui=true
alias.wdiff=diff --word-diff
alias.cdiff=diff --word-diff --word-diff-regex=.
alias.tree=log --graph --oneline --exclude=refs/remotes/origin/gh-pages --all
diff.wserrorhighlight=all
core.editor=vi
pull.ff=only
fetch.prune=true
pager.log=less
filter.lfs.required=true
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
Install Python
pyenv
で好みのバージョンの Python をインストールします. Python の build に必要なパッケージを追加でインストールしました.
$ sudo apt install build-essential \
libzma-dev libncursesw5-dev libreadline-dev \
libsqlite3-dev libssl-dev tk-dev libgdbm-dev libc6-dev \
libbz2-dev liblzma-dev libffi-dev
GitHub から pyenv
を clone します. 慣習に倣って .pyenv
ディレクトリを作成しました. また plugins
に pyenv-virtualenv
を clone して virtualenv
を使えるようにしておきます.
$ git clone https://github.com/pyenv/pyenv.git .pyenv
$ cd .pyenv/plugins/
$ git clone https://github.com/pyenv/pyenv-virtualenv.git
~/.bash_pyenv
というファイルを作成して pyenv
を有効にするための設定を記述します.
#!/bin/bash
export PYENV_ROOT="/home/rohsawa/.pyenv/"
export PATH="${PYENV_ROOT}/bin:${PATH}"
eval "$(pyenv init --path)"
eval "$(pyenv virtualenv-init -)"
~/.bashrc
に以下の設定を追記して設定が自動で読み込まれるようにします. ターミナルを再起動して pyenv
コマンドが使えるようになっていることを確認しておきます.
if [ -f ~/.bash_pyenv ]; then
. ~/.bash_pyenv
fi
今回は Python 3.11.3 をインストールしました.
$ pyenv install 3.11.3
$ pyenv global 3.11.3
$ pip install --upgrade pip
Setup CUDA
Hyades には GPU が搭載されています. GPU 計算で使用するためのライブラリ CUDA がインストールされていましたが, バージョンが古かったので新しいものをインストールしました. NVIDIA Developer からCUDA Toolkit をダウンロードします. このサイトにアクセスすると最新の CUDA Toolkit がダウンロードできます.
cuDNN のダウンロードにはユーザ登録が必要です. メールアドレスを登録して必要なバージョンの cuDNN をダウンロードします. Ubuntu であれば deb package を選択しておきます.
ダウンロードしたファイルをそれぞれ /usr/local/src
に置きます.
CUDA のインストール中には X server が動いているとエラーになります. そこで起動オプションで graphical terminal が起動しないように設定して再起動しました. /etc/default/grub
を以下のように編集します.
--- /etc/default/grub.orig
+++ /etc/default/grub
@@ -11,17 +11,17 @@
GRUB_CMDLINE_LINUX=""
# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
# Uncomment to disable graphical terminal (grub-pc only)
-GRUB_TERMINAL=console
+# GRUB_TERMINAL=console
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
変更を反映させて再起動します. 詳細は Boot Ubuntu 22.04 in text mode を参照してください.
# update-grub
# systemctl set-default multi-user.target
# reboot -n
ログインしたら以下の手順でダウンロードしたパッケージをインストールします. CUDA のバージョンは 11.8 と 12.1 が利用可能でしたが, 使いたい Python パッケージが CUDA 12 系に対応していなかったので 11.8 をインストールしました.
# sh cuda_11.8.0_520.61.05_linux.run
# cp /var/cudnn-local-repo-ubuntu1804-8.9.1.23/cudnn-local-569BAFC7-keyring.gpg /usr/share/keyrings/
# dpkg -i cudnn-local-repo-cuda11-ubuntu1804-8.9.1.23_1.0-1_amd64.deb
忘れずに /etc/default/grub
を元に戻して再起動します. 以下のコマンドで適切なバージョンの CUDA が認識されていることを確認します.
$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:33:58_PDT_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0
$ nvidia-smi
Sun Oct 15 15:01:46 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 520.61.05 Driver Version: 520.61.05 CUDA Version: 11.8 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce ... Off | 00000000:17:00.0 Off | N/A |
| 30% 44C P0 91W / 350W | 0MiB / 24576MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+