
Photo by
bantya_teitoku
GPUを設計してみよう
背景
北海道千歳市のラピダスでAI向けの半導体(プロセス)工場を作ってるが設計はどうなんだろう?
最先端ではなくても、現場で安い半導体でAIを動かすエッジ半導体とやらなら趣味レベルで設計が可能なのではないだろうか?
過去の記事
過去の記事
やりますか・・・
今までのまとめ
1. ChatGPTってなんなの?
分かったこと
AIの計算内容
つまり乗算の繰り返し
2. 素数を求めるアセンブラコードをRISC-Vでシミュレーション実行してみる
分かったこと
制御程度のRISC-Vの設計
3. インド式掛け算をロジック回路に応用してみる
分かったこと
乗算回路に工夫余地がある
なぜGPUの計算が高速なのか?
数千の演算回路(乗算器)を搭載しているからです。nVidiaではCUDAコアという。
並列の演算回路を同時に動かしてメモリアクセスはどうするの?同時には読めないでしょう?と調べたところ、ブロックメモリという技術を使うそうです。CPUのメモリは同時に1アドレスのデータを読み込むのが基本ですが、GPUではメモリ(SRAM)を例えば32領域に分けて32データを同時に読み込むことが可能です。同じブロックを読み込むときはコンフリクト(衝突)が発生する。つまり、調停を行うメモリコントローラーが載ってるのでしょうね。
(メモリコントローラーの設計?デスマーチ?おっと嫌な記憶が・・)
今日は
トラウマに触れたので
今日はこれ以上やめましょう
