メインコンテンツへスキップ
見出し画像
Photo byankou_onna

GPU,TPU,CPUとは何か?

    にしはる

    概要

    新聞やネット記事を見ると生成AIやnVidiaのGPUというワードを毎日見る2026年ですので、GPU,TPU,CPUについて語ってみよう。

    GPUとは?

    GPUの歴史から話を始めると、GPUは元々はゲームのグラフィックカードでした。GPUというオプションカードをパソコンに指すとゲームが滑らかに動くようになります。
    今はその演算機能を転用して生成AIといえばGPUを使用することになっています。
    では、GPUとは何なのか?
    下は私が設計したGPUの写真です。

    画像
    自作GPU

    GPUとは、一言で言えばSIMD(Single Instruction, Multiple Data)計算機。
    1つの命令で複数のデータを同時に処理するデータ並列化技術です。

    add d1, d2, d3, d4, p1, p2, p3, p4

    add:加算命令
    データ:d1〜p4
    こんな感じで、一つの命令で多数のデータを処理することが可能なのがGPU。
    私が設計したGPUでの処理結果が下記です。ディープラーニング技術を用いて文字認識してます。CPUボードからデータ送受信も本物のGPUカードのようにPCI-Expressです。

    画像
    ディープラーニング

    TPUとは何か?

    最近はGPUではなくTPUというものがCPUに内蔵されてAI関連の処理を行うようになっています。では、TPUとはなにか?
    下図が私が学習用に設計したTPUです。

    画像
    シストリックアレイ

    半導体Chipにタイル状に並べられた演算ユニットがデータをお互いに受け渡しながら演算を実行していきます。
    下に私が学習用TPUを設計したコードを下のリンクに置いてます。
    PythonコードのSystolicArray_model.pyを読めばTPUの動作を理解するのが分かりやすいと思います。

    CPUとは何か?

    今はCPUが一般常識の用語であると思いますが、パソコンもスマホもCPUが動かしてます。私が設計したCPUが下図です。CPUとは、一言で言えば「コントローラーに特化した演算回路」です。何でも計算できる用途向けに特化した演算回路です。新聞で「スーパーコンピューターで1ヶ月かかる計算」との記事を読むことも多いですが、そもそもスーパーコンピューターのCPUで計算するのは「遅い」です。CPUは何でも計算出来るトレードオフ(代償)として遅いのです。
    だから単純な計算ではGPUやTPUを使用したほうが速いということです。

    画像
    自作CPU

    CPU試作用ボードを使って、この設計の自作CPUを動作させてみよう。
    使用機材は下の写真のCPUボード@5千円です。

    画像
    使用機材

    このCPUの動画が下記です。
    CPU上で自作OSを起動させて、一通りの動作をさせています。
    primes 100↵
    コマンド実行で100までの素数を表示。
    primes 10000↵
    コマンド実行で10000までの素数を表示。

    所感

    あえて情報量を少なくして書いてみました。

    (土日ほど仕事が捗るっていうね・・)

     
     
     
    40代の技術関係の人。 資格 ITパスポート 基本情報技術者 応用情報技術者(午前合格) TOEIC670点 FP3級、FP2級(予定) 日商簿記3級、簿記2級(予定) 社労士(勉強中)、

    あなたへのおすすめ