[自作日記2] CPUとチップセットと PCI Express の関係

[自作日記2] CPUとチップセットと PCI Express の関係

こんにちは!今日はCPUとチップセットについて学びたいとおもいます!

最終的にはAI開発に使えるGPUマシンをつくりたいのですが、GPUってパソコンのどのあたりに入れて使うものでしょうか。

black Gigabyte graphics card
Photo by Rafael Pol / Unsplash

はい、正解は、パソコンのPCI Express のスロットに挿して使います。

「知っとるわ」という声が聞こえました。

さすがです。

では、次の問いです。

GPU が挿さる PCI Express スロットのレーンはどこにつながってるのでしょうか?

1.「チップセット」
2.「CPU」

正解は2のCPUです。

この問いの答えが一瞬で出た方は、本記事を読みとばしていただいて問題ありません。

「?」となった方は、本記事に参考になる部分があるかもしれません。

ということで、GPU は PCI Express という拡張スロットに挿して使うことはご存じかもしれませんが、PCI Express は内部でどのようにつながっているのでしょうか。実はGPUパソコンを作るときにこの辺がけっこう重要になります。

今後、GPU2枚挿し、GPU4枚挿し、など本格的なGPUマシンを作るときにもこのあたりの知識が重要になりますので、学んでおいて損はないですね。

さあ、進めていきましょう!

先ほどの問いの続きから、ですが、
PCI Express には CPU と直接つながっているものと、チップセットからつながっているものの2種類があります。

まずはPCI Express から CPU やチップセットにつながっている伝送路= 「レーン」についてもう少しみていきましょう

PCI Express と CPU をつなぐレーン

前述のとおり、PCI Express は CPU から直接つながるものと、チップセットからつながるものがあります

  • PCI Express ⇔ CPU

  • PCI Express ⇔ チップセット

では、具体的に見ていきましょう。

CPUとPCI Express が接続されているレーンは、たとえば、 第12世代のインテル Core シリーズCPU の場合、CPUから直接PCI Express に
接続されるレーンは 20本 あります。

その内訳は、

  • PCIe gen 5 16レーン
  • PCIe gen 4 4レーン

となっています。

「gen5 のレーンが 16本ってこと? gen4 のレーンが 4本ってこと? CPUからPCIExpressにのびているレーンの本数と規格が違うの?」

はい、そのとおりです。

レーンには1本ずつ規格があり、このレーンは PCIe gen5(=PCI Express の5世代目 という意味でしたね) 、このレーンは PCIe gen4 のようにそれぞれ規格がわかれています。

パソコンの中でCPUやチップセットにつながってるPCI Expressのレーンは全てがおなじ規格ではない、というのがまずポイントです。

では、実際に インテルの12世代CPU に対応した Z690 チップセット というものの、ブロック図をみながら理解を深めていきましょう。

(ブロック図とは、システムの構成要素を図にしたものです。)

以下は Z690 チップセットのブロック図です。

このブロック図を全部ただちに理解する必要はありません。

私たちは 、ふつうのパソコンではなく、「GPU搭載マシン」を作るので、GPUマシンにとって必要なところを学びます。

GPUにとって重要なのはこのブロック図の左上です。赤で示しました。

まずは、ここを読み解いていきましょう。

拡大するとこんなかんじです。

これは、 CPU と直接接続されている PCI Express について説明しています。

この左上あたりをみると、

のように書いてあります。

これが冒頭にかいたとおり CPU から PCI Express のレーンが 20 本のびている 件です。 16本の PCIe 5.0 レーンと 4本の PCIe 4.0 レーンの合計 20本のレーンが CPU と直接接続されています。

つまり、 合計20本あるレーンのうち

・gen5 規格 のPCI Express のレーンを16本束にしたスロット
・gen4 規格 のPCI Express のレーンを4本束にしたスロット

が使えるよ。といっています。

そして、通常、CPU からのびてる、この gen5 規格 のPCI Express のレーンを16本束にしたスロットグラフィックボード(GPU) 用に使用されます!

PCIe 5.0 は前回の記事に示した通り、大変高速ですので、GPUのような高速データ転送を要求される用途向きというわけです。

PCI Express の世代と伝送速度(理論値)

理解をより深めるために、レーン1本ずつを視覚的に示してみました

GPUが主眼なので、GPU が接続される CPU ⇔ PCI Express に着目しましたが、基本的には、他のレーンも同じです。

PCI Express には、チップセット側と接続されているレーンもあり、上の図のようになっています。

この仕組みが理解できると、マザーボードやチップセットのスペックシートが読み解けるようになります。

さて、さきほどのブロック図の左上には↓という表記も書いてありました。これはどういうことでしょうか。

そちらは、次回にご説明いたします。
これはグラボ二枚挿しにも関係のある内容となっていますのでご期待くださいませ!

それでは、また次回お会いしましょう


navigation

Read more

Pythonの落とし穴:__len__メソッドを実装したらオブジェクトの真偽値判定が変わってしまった話

Pythonの落とし穴:__len__メソッドを実装したらオブジェクトの真偽値判定が変わってしまった話

こんにちは! Pythonでカスタムクラスを作成していて、 「オブジェクトは存在するのにif文でFalseと判定される」 という不可解な現象に遭遇したことはありませんか? この記事では、__len__メソッドを実装することで生じる、予期しない真偽値判定の挙動について解説いたします! 実際に遭遇したバグ ユーザーの投稿を管理するクラスを実装していたときのことです class PostManager: """ブログ投稿を管理するクラス""" def __init__(self, user_id): self.user_id = user_id self._posts = [] self._cache = {} def __len__(self): """投稿数を返す""" return len(self._posts) def add_post(

By Qualiteg プロダクト開発部
CEATEC 2025に出展します!フォトリアルAIアバター「MotionVox🄬」の最新版を実体験いただけます

CEATEC 2025に出展します!フォトリアルAIアバター「MotionVox🄬」の最新版を実体験いただけます

株式会社Qualitegは、2025年10月14日(火)~17日(金)に幕張メッセで開催される「CEATEC 2025」に出展いたします。今回の出展では、当社が開発したフォトリアリスティックAIアバター技術「MotionVox🄬」をはじめ、最新のAI技術とビジネスイノベーションソリューションをご紹介いたします。 出展概要 * 会期:2025年10月14日(火)~10月17日(金) * 会場:幕張メッセ * 出展エリア:ネクストジェネレーションパーク * ブース番号:ホール6 6H207 * CEATEC内特設サイト:https://www.ceatec.com/nj/exhibitor_detail_ja?id=1915 見どころ:最先端AI技術を体感できる特別展示 1. フォトリアルAIアバター「MotionVox🄬」 テキスト入力だけで、まるで本物の人間のような動画を生成できる革新的なAIアバターシステムです。 MotionVox🄬は自社開発している「Expression Aware🄬」技術により日本人の演者データを基に開発された、

By Qualiteg ニュース
その処理、GPUじゃなくて勝手にCPUで実行されてるかも  ~ONNX RuntimeのcuDNN 警告と対策~

その処理、GPUじゃなくて勝手にCPUで実行されてるかも ~ONNX RuntimeのcuDNN 警告と対策~

こんにちは! 本日は、ONNX RuntimeでGPU推論時の「libcudnn.so.9: cannot open shared object file」エラーの解決方法についての内容となります。 ONNX Runtimeを使用してGPU推論を行う際、CUDAプロバイダの初期化エラーに遭遇することがありますので、このエラーの原因と解決方法を解説いたします。 エラーメッセージの詳細 [E:onnxruntime:Default, provider_bridge_ort.cc:2195 TryGetProviderInfo_CUDA] /onnxruntime_src/onnxruntime/core/session/provider_bridge_ort.cc:1778 onnxruntime::Provider& onnxruntime::ProviderLibrary::Get() [ONNXRuntimeError] : 1 : FAIL : Failed to load

By Qualiteg プロダクト開発部
大企業のAIセキュリティを支える基盤技術 - 今こそ理解するActive Directory 第3回 クライアントとサーバーのドメイン参加

大企業のAIセキュリティを支える基盤技術 - 今こそ理解するActive Directory 第3回 クライアントとサーバーのドメイン参加

こんにちは、今回はシリーズ第3回クライアントとサーバーのドメイン参加について解説いたします! はじめに こんにちは!シリーズ第3回「クライアントとサーバーのドメイン参加」へようこそ。 前回(第2回)では、Active Directoryドメイン環境の構築手順について、ドメインコントローラーのセットアップからDNS設定まで詳しく解説しました。ドメイン環境の「土台」が整ったところで、今回はいよいよ実際にコンピューターをドメインに参加させる手順に進みます。 「ドメインユーザーアカウントを作ったのに、なぜかログインできない」「新しいPCを追加したけど、ドメイン認証が使えない」といった経験はありませんか?実は、Active Directoryの世界では、ユーザーアカウントを作成しただけでは不十分で、そのユーザーが使用するコンピューター自体もドメインに「参加」させる必要があるのです。 本記事では、このドメイン参加について、単なる手順の説明にとどまらず、「なぜドメイン参加が必要なのか」「裏側で何が起きているのか」という本質的な仕組みまで、初心者の方にも分かりやすく解説していきます。Win

By Qualiteg コンサルティング