というわけで2ヶ月のすったもんだの末、うちに帰ってきたJetson Nano 2GB。
左:帰ってきた2GB、右:買い足した4GB(B01)
壊れる前はそもそもMacbookAirのACアダプタ(容量、定格上は十分なスペック)で起動できなかったところからすでに異常だったわけだが、交換されてはるばる香港から直送で届いた今回のものはすんなり起動した。やっぱりなにかおかしかったんだと再確認。壊れたときに使用していた中華ACアダプタが原因だったかもしれないと、一旦使用を避けたが、このぶんじゃやっぱり本体側に問題があったということなんだろう。
今回JetPackをインストールし、初期設定を英語設定で行ってから日本語に後で変えるという方式をとってみた。(某超入門本にしたがった)ところ、それが原因かはわからないがLXDEの文字表示が超ちっちゃくてちょっと難儀した。
結局完全解決はしていないのだが、
~/.config/lxsession/LXDE/desktop.conf
の
sGtk/FontName=Sans 10
となっているところを
sGtk/FontName=Sans 20
のように大きくしてやることでメニュー表示などは改善した。しかしウインドウタイトルの表示はまだちっさいままだし、20じゃちょっと大きすぎたかもしれない、という感じもしたが、2GBはGUIで使うつもりは今のところないのでこの辺にしておく
追記:
~/.config/lxsession/LXDE/desktop.conf
はイジらず
~/.Xresources
を作って、
Xft.dpi:100
と記載して保存する。
そうするとデスクトップにあるファイル名などもsize 10でちょうどいい感じになる。
次はKubernetesクラスターの構築をやってみようと思う。
参考:
K3SをNVIDIA Jetson Nanoで実行する - 仮想化通信
基本こちらのブログの通りで問題なく構築できたようだ。
一点、インストールしたままの状態ではDockerがrootでしか実行できないようになっていたので、そこんとこ調整。
$ sudo gpasswd -a $(whoami) docker $ sudo chgrp docker /var/run/docker.sock $ sudo service docker restart
マスター側は念の為再起動もしておいた。
$ sudo kubectl run -i -t nvidia --image=jitteam/devicequery --restart=Never ./deviceQuery Starting... CUDA Device Query (Runtime API) version (CUDART static linking) Detected 1 CUDA Capable device(s) Device 0: "NVIDIA Tegra X1" CUDA Driver Version / Runtime Version 10.2 / 10.0 CUDA Capability Major/Minor version number: 5.3 Total amount of global memory: 3956 MBytes (4148305920 bytes) ( 1) Multiprocessors, (128) CUDA Cores/MP: 128 CUDA Cores GPU Max Clock rate: 922 MHz (0.92 GHz) Memory Clock rate: 13 Mhz Memory Bus Width: 64-bit L2 Cache Size: 262144 bytes Maximum Texture Dimension Size (x,y,z) 1D=(65536), 2D=(65536, 65536), 3D=(4096, 4096, 4096) Maximum Layered 1D Texture Size, (num) layers 1D=(16384), 2048 layers Maximum Layered 2D Texture Size, (num) layers 2D=(16384, 16384), 2048 layers Total amount of constant memory: 65536 bytes Total amount of shared memory per block: 49152 bytes Total number of registers available per block: 32768 Warp size: 32 Maximum number of threads per multiprocessor: 2048 Maximum number of threads per block: 1024 Max dimension size of a thread block (x,y,z): (1024, 1024, 64) Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535) Maximum memory pitch: 2147483647 bytes Texture alignment: 512 bytes Concurrent copy and kernel execution: Yes with 1 copy engine(s) Run time limit on kernels: Yes Integrated GPU sharing Host Memory: Yes Support host page-locked memory mapping: Yes Alignment requirement for Surfaces: Yes Device has ECC support: Disabled Device supports Unified Addressing (UVA): Yes Device supports Compute Preemption: No Supports Cooperative Kernel Launch: No Supports MultiDevice Co-op Kernel Launch: No Device PCI Domain ID / Bus ID / location ID: 0 / 0 / 0 Compute Mode: < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) > deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 10.2, CUDA Runtime Version = 10.0, NumDevs = 1 Result = PASS
エラーなく走ったことは走ったが、これでクラスタとして機能しているのかどうかというと自信がない。
$ sudo docker run -it --runtime nvidia jitteam/devicequery WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested ./deviceQuery Starting... CUDA Device Query (Runtime API) version (CUDART static linking) Detected 1 CUDA Capable device(s) Device 0: "NVIDIA Tegra X1" CUDA Driver Version / Runtime Version 10.2 / 10.0 CUDA Capability Major/Minor version number: 5.3 Total amount of global memory: 3956 MBytes (4148305920 bytes) ( 1) Multiprocessors, (128) CUDA Cores/MP: 128 CUDA Cores GPU Max Clock rate: 922 MHz (0.92 GHz) Memory Clock rate: 13 Mhz Memory Bus Width: 64-bit L2 Cache Size: 262144 bytes Maximum Texture Dimension Size (x,y,z) 1D=(65536), 2D=(65536, 65536), 3D=(4096, 4096, 4096) Maximum Layered 1D Texture Size, (num) layers 1D=(16384), 2048 layers Maximum Layered 2D Texture Size, (num) layers 2D=(16384, 16384), 2048 layers Total amount of constant memory: 65536 bytes Total amount of shared memory per block: 49152 bytes Total number of registers available per block: 32768 Warp size: 32 Maximum number of threads per multiprocessor: 2048 Maximum number of threads per block: 1024 Max dimension size of a thread block (x,y,z): (1024, 1024, 64) Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535) Maximum memory pitch: 2147483647 bytes Texture alignment: 512 bytes Concurrent copy and kernel execution: Yes with 1 copy engine(s) Run time limit on kernels: Yes Integrated GPU sharing Host Memory: Yes Support host page-locked memory mapping: Yes Alignment requirement for Surfaces: Yes Device has ECC support: Disabled Device supports Unified Addressing (UVA): Yes Device supports Compute Preemption: No Supports Cooperative Kernel Launch: No Supports MultiDevice Co-op Kernel Launch: No Device PCI Domain ID / Bus ID / location ID: 0 / 0 / 0 Compute Mode: < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) > deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 10.2, CUDA Runtime Version = 10.0, NumDevs = 1 Result = PASS
素のDockerで走らせるとこんな感じで結果は同じなんだが。
そもそもDockerコンテナの理解が不十分なので、何をやっているのかわかっていないということが問題ではある。
クラスタに手を出す前にすることはまだあるな。
ありあわせの機材で構築しているため統一感に乏しいが。