GPUを使う開発は自作PC+Linuxに限る、ということでゲーム用Windowsと開発用Ubuntuのデュアルブートにした。
OS関係#
Windowsをnvme0, Ubuntuをsata0に入れてfirst boot driveをsata0に設定、GNU GRUBでOSを選択する。
こうしておくとブートローダーを吹っ飛ばしてもsata0を外せばきれいなWindowsが起動する。(はず)
ハードウェアクロックをローカルタイムにする#
1
| sudo hwclock -D --systohc --localtime
|
この設定をしないとWindows側の時刻がずれる
日本語ディレクトリを英語化#
1
| LANG=C xdg-user-dirs-gtk-update
|
GPU関係#
GPUドライバのインストール#
1
| $ sudo ubuntu-drivers autoinstall
|
CUDAセットアップ#
https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=22.04&target_type=deb_network
1
2
3
4
| $ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.0-1_all.deb
$ sudo dpkg -i cuda-keyring_1.0-1_all.deb
$ sudo apt update
$ sudo apt install cuda
|
~/.bashrc
1
2
3
| ...
export PATH="/usr/local/cuda/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH"
|
動作確認
1
2
3
4
5
6
| $ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Mon_Apr__3_17:16:06_PDT_2023
Cuda compilation tools, release 12.1, V12.1.105
Build cuda_12.1.r12.1/compiler.32688072_0
|
1
2
| import torch
torch.cuda.is_available()
|
入力関係#
IME切り替えショートカットを Ctrl + Space
に設定#
- 設定 > キーボード > 入力ソース で入力ソースを
日本語(Mozc)
のみにする - Mozcプロパティ > キー設定 > 編集 でIMEの有効化/無効化 を
Ctrl + Space
に設定
CapsLockをCtrlに変更#
1
2
3
| $ sudo vi /etc/default/keyboard
...
XKBOPTIONS="ctrl:nocaps"
|
ターミナルからクリップボードにアクセスできるようにする#
1
| $ sudo apt install xsel
|
Macみたいにpbcopy/pbpasteで呼び出せるようにする
~/.bashrc
1
2
| alias pbcopy='xsel --clipboard --input'
alias pbpaste='xsel --clipboard --output'
|
使い方
1
2
3
| $ echo hoge | pbcopy
$ pbpaste
hoge
|
開発環境#
Docker#
sudo無しで使えるようにgroupにユーザーを入れる
https://docs.docker.com/engine/install/linux-postinstall/
1
2
3
| $ sudo apt install docker.io
$ sudo usermod -aG docker $USER
$ newgrp docker
|
Brew#
https://docs.brew.sh/Homebrew-on-Linux
1
2
3
4
5
| $ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
$ test -d ~/.linuxbrew && eval "$(~/.linuxbrew/bin/brew shellenv)"
$ test -d /home/linuxbrew/.linuxbrew && eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
$ test -r ~/.bash_profile && echo "eval \"\$($(brew --prefix)/bin/brew shellenv)\"" >>~/.bash_profile
$ echo "eval \"\$($(brew --prefix)/bin/brew shellenv)\"" >>~/.profile
|