[自作日記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

2024年10月度 最新API価格情報

2024年10月度 最新API価格情報

こんにちは、テクノロジー愛好家の皆さん!10月になり、秋の空気が徐々に冷たくなってきましたね。しかし、テクノロジーの世界では熱いニュースが続いています。今回は、2024年10月度の最新API価格情報について詳しくご紹介します。 価格比較と選択のポイント APIプロバイダーを選ぶ際には、単純な価格だけでなく、以下のポイントも考慮することが重要です。 * 使用頻度とスケーラビリティ: 予想されるリクエスト数やデータ量に基づいて、最適なプランを選びましょう。 * サポートとドキュメント: プロバイダーのサポート体制や技術ドキュメントの充実度も重要です。 * セキュリティ: データの安全性を確保するために、セキュリティ機能が充実しているか確認しましょう。 まとめ 2024年10月度の最新API価格情報をお届けしました。OpenAI、Anthropic、GeminiそれぞれのAPIは、利用目的や規模に応じて最適な選択肢が異なります。最新の価格情報を基に、自分のプロジェクトに最適なAPIを選び、効率的な開発を進めましょう。 これからも最新のテクノロジー情報をお届けしていき

By Join us, Michele on Qualiteg's adventure to innovation
ディープラーニングモデルの安全な並列推論とパフォーマンス最適化

ディープラーニングモデルの安全な並列推論とパフォーマンス最適化

こんにちは! 今日は、よく聞かれる質問の1つである「単一のモデルインスタンスで安全に並列推論を行えるか?」に関する内容です! evalモードでの並列推論の安全性 PyTorchモデルがmodel.eval()を使用してevalモードに設定されている場合、一般的に並列推論に対して安全になります。 (ここでいう「並列」はマルチスレッドによる処理ととらえてください。バッチ推論については後述します。) その理由は、 1. パラメータの不変性 evalモードでは、順伝播(forward pass)中にモデルのパラメータが更新されません。 2. 学習特有レイヤーの非活性化 BatchNormなどのレイヤーは、バッチ統計の計算ではなく、実行時統計(running statistics)を使用するモードに切り替わります。 3. 入力データの独立性 各スレッドやプロセスは独自の入力データで動作し、それぞれ別のメモリ領域に存在します。 以下は、evalモードでの安全な並列推論の基本的な例です: import torch import th

By Qualiteg プロダクト開発部
Qualitegセレクション:アイディア深堀編④ストーリーボードの活用術

Qualitegセレクション:アイディア深堀編④ストーリーボードの活用術

Qualiteg blogを訪問してくださった皆様、こんにちは。Micheleです。AIを活用した新規事業やマーケティングを手がけている私には、クライアントからよく寄せられる質問があります。AIを用いた事業展開を検討されている方々が共通して直面するであろう課題に対して、このブログを通じて私なりの解答をご提供したいと思います。 お絵描きが楽しい★ストーリーボード ユーザーインタビューやアイデア発想法などで得られたアイデア。素晴らしい可能性を秘めているものの、形にするにはまだ詳細が足りない、具体的にイメージしづらい、と感じることありませんか? そんな時に役立つのがストーリーボードです。 Qualitegセレクション、アイディア深堀編④では、ストーリーボードを活用してアイデアを具体化し、サービスやプロダクトの質を高める方法をご紹介します。 普段のコンサルティングご支援でもストーリーボードやりましょう!と申し上げると「自分は絵を描くのが苦手だから」とおっしゃる方もいらっしゃいますが、全く問題ございません! 棒人間的な絵の方が余計な情報が入ってこないので、ユーザー体験がリアルに表現

By Join us, Michele on Qualiteg's adventure to innovation
【極めればこのテンソル操作 】NumPy配列の縦マージ方法:5つのアプローチ

【極めればこのテンソル操作 】NumPy配列の縦マージ方法:5つのアプローチ

こんにちは! 今日は、NumPyにおける配列の縦マージについてご説明いたします! ご存じの通りNumPyは、Pythonで科学的計算を行うための強力なライブラリです。 複数のNumPy配列を縦にマージして大きな配列を作成する方法について、5つの異なるアプローチを詳しく見ていきましょう。 具体的には、(N,128)と(M,128)の形状を持つ複数のNumPy配列が格納されたPythonのリストから、(N+M,128)の形状を持つ単一のNumPy配列を作成する方法を説明します。 1. np.vstack() を使用する方法 np.vstack() 関数は、垂直方向(行方向)に配列をスタックするための関数です。 import numpy as np list_of_arrays = [ np.random.rand(3, 128), np.random.rand(2, 128) ] merged_array = np.vstack(list_

By Qualiteg プロダクト開発部