Literature Watch Returns(8) Jetson nano特集、トラ技2019-9月号

8月5日の投稿で、Google Corl Dev Board と NVIDIA Jetson Nano が欲しいよ~と書いてしまいました。物欲は止まりませぬ。と言っていたら、先週購入のトラ技9月号は、NVIDIA Jetson Nano特集ではありませんか。これは Jetson Nano、買うしかありません。ポチリました。到着する前にトラ技の特集を読んでおかねば。

NVIDIA Jetson Nanoをご存知ない方向けに、短く説明すれば

NVIDIAのGPUを搭載したラズパイもどき

です。ラズパイにも「非力な」GPUが搭載されていますが、こちらにはNVIDIAの「強力な」GPUが搭載されており、CUDA使ったGPGPUのプログラミングが可能になっています。お値段的には1万2千円台くらい(商社による)。ラズパイに比べたらちょっと高いですが、まともにGPGPUのプログラミングをできるマシンを用意しようとすれば数十万円以上くらいは直ぐにかかるでしょう。ただ、安いだけあって、搭載しているGPUの規模はかなり小さい。搭載されているGPUは最新世代からすると数世代前のMaxwellアーキテクチャ(もちろん、19世紀最大の物理学者、ジェームズ・クラーク・マックスウエル先生からいただいた名)ですが、

同じMaxwell版のGPUボード TITAN-Xに比べると規模的には24分の1

です。開発用のマシンとしては非力ですが、最近流行りのエッジでAI、という方向性であれば、先に書いたGoogle Corl Dev Board(こちらはGoogleのTPUの小さい版が載っている)と「エッジでAI業界の2大巨頭」なボードじゃないかと思います。

さて、肝心のトラ技の記事の方に参りましょう。「特集 Cで直叩き!超並列コンピュータGPU 全速力」であります。全12章100ページほどをかけて、このJetson NanoとそのGPUの解説であります。

ネタバレにならない程度にコメントさせていただくと、9月号には肝心のAIへの応用の話はほぼまったく載っていません。既にCQ出版がアナウンスしているトラ技10月号のコンテンツを見れば分かりますが、

Jetson NanoでAIするのは10月号

なんであります。9月号は、Jetson Nanoの背景知識(GPUとはなんぞやみたいなところから、浮動小数点の算法など)から、セットアップ、試運転、そして肝心のCUDAプログラミングまでです。CUDAでプログラムを書いたことがあり、MaxwellのSMの構造とか理解している人にはJetson Nano固有の説明くらいしか有効でないかもしれませんが、

Maxwellの上でCUDAでプログラム書いたことがあるけど忘れている

私メのようなものにとっては、読ませていただいたおかげで、地獄の釜の中から這い出てきたかの如く、記憶が呼び覚まされたのであります。CUDAで書いたことのある方であればご存知だと思いますが、縮約などするときに同期をとる場合は、1個のSM内の仕事に帰着させんといけないので、ちょっとテクがいると思います。でも、Jetson Nano、SM1個のようです。その辺はスルッとパスかな。

しかし、特集タイトルの「Cで直叩き!」というのは、年寄りにはピンとこない表現です。C言語(といってCUDAの文法はCのNVIDIA拡張で、GPUに対するカーネルの記述部分などはC言語の規格からはみ出していると思うが)で書くのが何で「直」なんだろう?AIなどPythonで書くからか?でもAI向けでもライブラリの中などSIMDでアセンブラのコードも結構あるが。その辺の感覚が歳をとってずれているのでありましょう。などと言っていたら、宅急便屋さんの登場です。お盆なのにご苦労なことです(「ご苦労」というのは上から目線だからつかちゃ駄目だみたいな話も聞くのですが、私の記憶にある、昭和の時代の東京でまだ傷痍軍人の人がアーコーディオン弾いていたような世界では、「ご苦労様」は「上から」みたいなニュアンスは全くなかったです。どこからそうなったのか)

到着しました。NVIDIA JETSON NANO DEVELOPER KIT。

楽しみ、楽しみ。

Literature Watch Returns(7) ラズパイでAI、目白押し へ戻る

Literature Watch Returns(9) 世界のAIマイコン特集、トラ技2019-11月号 へ進む