モデル別実行レシピ
最終更新
CMP 170HXのメモリアンロックをどう始める?
対応ドライバー・カーネルヘッダー・Secure Bootを先に整え、プロファイルを確認して再起動します。
cmpunlockerはLinux上でNVIDIAオープンカーネルモジュールにパッチを当て、CMP 170HXのメモリ構成を変更するツールです。リポジトリとドライバーの条件を満たしてインストールスクリプトを実行し、再起動すると、選択したプロファイルの容量がドライバーに表示されます。自動検出から始め、実際の容量を確認します。
まずドライバーとカーネルのバージョンを記録してください。導入後は再起動してメモリー容量とPCIeリンクを確認します。問題が起きたら、導入ログと削除手順を使って元に戻せます。
最初にLinuxとドライバーの前提条件を確認します
READMEの要件は、Linux x86-64、root権限、NVIDIA CMP 170HX、NVIDIAオープンカーネルモジュールを含む610.xx.xx以降の対応ドライバー、同じドライバーブランチのライブラリ・ファームウェア、実行中カーネルに一致するヘッダーです。Python 3はビルド時に8GBまたは10GBのメモリジオメトリを選ぶためにも使われます。パッケージ名はディストリビューションごとに異なるため、カーネルヘッダーの導入方法は各ディストリビューションの案内に従ってください。
任意の最新ドライバーを入れるのではなく、READMEの対応バージョンを確認してください。現在のREADMEには610.xx.xx以降と615.78.08が記載されています。ドライバーのライブラリとファームウェアが同じブランチか、ヘッダーがuname -rで示される実行中カーネルと一致するかも確認します。
Secure Bootは無効にする必要があります。パッチ済みカーネルモジュールは署名されておらず、有効なままでは読み込まれません。BIOS/UEFIで設定を変更・保存し、Linux起動後に状態を確認してください。初回インストールではビルド用に対応するNVIDIAオープンカーネルモジュールのソースをダウンロードするため、ネットワーク接続も必要です。
カードのランクに合うメモリプロファイルを選びます
既定のインストールではカード情報を読み取り、プロファイルを自動検出します。初回は自動検出のままにします。メンテナーのREADMEによると、8GBカード用の8gbプロファイルは64GB構成、10GBカード用の10gbプロファイルは40GB構成です。ただし一部の8GBシングルランクカードは32GBの場合があります。出荷容量とランクが不明なら、プロファイルを強制指定する前にカード情報を確認してください。
8GBまたは10GBの手動指定は、カードがそのプロファイルに合うと確認してから使ってください。誤ったプロファイルでは、インストール時に計算されたメモリジオメトリと実カードの構成が異なる可能性があります。インストール時の出力を記録し、再起動後の結果と照合すると問題箇所を見つけやすくなります。
| 出荷時の構成 | プロファイル | README記載の結果 |
|---|---|---|
| 8GBカード | 自動検出または8gb | 64GB構成。一部シングルランクは32GB |
| 10GBカード | 自動検出または10gb | 40GB構成 |

リポジトリを取得してインストーラーを実行します
要件を満たしたLinuxホストでメンテナーのリポジトリを複製し、プロジェクトフォルダーに移動して標準インストーラーを実行します。NVIDIAモジュールにパッチを当て、現在のカーネル用モジュールをビルドするため、完了するまでターミナルを閉じないでください。
git clone https://github.com/amoghmunikote/cmpunlocker.git
cd cmpunlocker
sudo ./install.sh
必要な場合にだけメモリプロファイルを指定します
出荷時メモリとランクを確認し、自動検出ではなく特定のプロファイルが必要と判断した場合は、インストールコマンドに--profileを付けます。8GBカードには8GBプロファイル、10GBカードには10GBプロファイルを選びます。オプション名はリポジトリREADMEのとおりに入力してください。インストール後にプロファイルを変更する場合は、既存の導入を削除してから新しいプロファイルを適用します。
sudo ./install.sh --profile=8gbsudo ./install.sh --profile=10gb再起動後にメモリとPCIeリンクを確認します
インストールスクリプトが終了したらシステムを再起動します。起動後、nvidia-smiでGPU1名、ドライバー版、総メモリを確認してください。8GBカードで64GBプロファイルを想定していたのに32GBと表示される場合は、シングルランクのボードかもしれません。ハードウェア情報を再確認し、READMEで対応するプロファイルを選びます。10GBカード用プロファイルは40GBと表示されます。
2つ目のコマンドでPCIeリンクの世代と幅を確認します。スロットが複数ある場合は、マザーボードのレーン共有表と照合してください。PixelMLはGen2をテストし、試した4枚すべてでGen3はヒューズにより制限されていました。リンクが想定と異なる場合は、カード、スロット、ライザー、BIOS設定を一つずつ確認します。
想定どおりの容量とドライバーでも、モデルの実行は別途確認します。使用する実行環境がGA100カーネルに対応するかを確認し、モデルを読み込んで短いプロンプト2と普段使う文脈長3の要求を送ります。メモリ割り当てに失敗したら文脈長や実行バッファを減らして再確認します。カーネルモジュールの読み込みに失敗した場合は、ドライバーブランチ、カーネルヘッダー、Secure Bootの状態を確認してください。
nvidia-smi
nvidia-smi -q -d PCI
問題が起きたら最初に失敗した段階から確認します
install.shがカーネルヘッダーやソースを見つけられない場合は、uname -rで実行中カーネルを確認し、同じバージョンのヘッダーが導入されているか調べます。ビルドでドライバーソースを取得できない場合は、初回導入時のネットワーク接続とリポジトリアクセスを確認してください。モジュールが読み込まれない場合は、BIOS/UEFIのSecure Boot状態と、ドライバー・ライブラリ・ファームウェアのブランチが一致しているかを順に確認します。
nvidia-smiがGPUを検出できない場合は、再起動したか確認し、エラーメッセージとインストールログから最初のモジュールビルド・読み込み失敗を調べます。想定より少ないメモリが表示されたら、出荷時容量、メモリランク、自動検出されたプロファイルを確認してください。任意のプロファイルを繰り返し試すより、カード情報を照合して適切なプロファイルで再インストールする方が原因を絞り込めます。
削除スクリプトと再起動でロールバックします
元のドライバーモジュール状態に戻すには、cmpunlockerフォルダーでREADME記載の削除スクリプトを実行し、再起動します。--yesオプションは確認を求めずに進むため、実行前にGPUを使う作業を終えてください。再起動後、nvidia-smiでGPUが認識され、メモリ構成が以前の状態に戻ったか確認します。
sudo ./remove.sh --yes
sudo reboot用語の注釈
よくある質問
- この記事で最初に確認すべきことは何ですか?
- cmpunlockerはLinux上でNVIDIAオープンカーネルモジュールにパッチを当て、CMP 170HXのメモリ構成を変更するツールです。リポジトリとドライバーの条件を満たしてインストールスクリプトを実行し、再起動すると、選択したプロファイルの容量がドライバーに表示されます。自動検出から始め、実際の容量を確認します。
- 必要なメモリはどのくらいですか?
- READMEの要件は、Linux x86-64、root権限、NVIDIA CMP 170HX、NVIDIAオープンカーネルモジュールを含む610.xx.xx以降の対応ドライバー、同じドライバーブランチのライブラリ・ファームウェア、実行中カーネルに一致するヘッダーです。Python 3はビルド時に8GBまたは10GBのメモリジオメトリを選ぶためにも使われます。パッケージ名はディストリビューションごとに異なるため、カーネルヘッダーの導入方法は各ディストリビューションの案内に従ってください。
- 選ばないほうがよいのはどのような場合ですか?
- 任意の最新ドライバーを入れるのではなく、READMEの対応バージョンを確認してください。現在のREADMEには610.xx.xx以降と615.78.08が記載されています。ドライバーのライブラリとファームウェアが同じブランチか、ヘッダーがuname -rで示される実行中カーネルと一致するかも確認します。
