llama-cpp-python(CUDA版)のビルド環境をオフラインで構築する

テクノロジー
この記事は約4分で読めます。

1.はじめに

 Pythonのライブラリ「llama-cpp-python」をCUDA版で導入するにはGPU搭載のPCでCUDAが使用可能になっており、かつビルド環境が整っていないとCPU版がインストールされてしまいます。
 ビルド環境のセットアップおよびllama-cpp-pythonのインストールまでをまとめました。また、ビルド環境については個人開発であればVisual Studio Communityを使えばいいですが、法人などの場合Communityは使用できません。ただし、Build Tools for Visual Studio(C++)についてはOSSのビルドのために使用するのであればVisual Studioのライセンスなしで利用が可能です。
 ビルド環境のセットアップについては、法人によってはセキュリティの関係でワークステーションがネットワークにつながっていないこともありますので、各種ビルド環境の構築をオフラインPCでインストールできるように作業を進めます。

2.インストーラーの収集(ネットワークにつながった端末で行う)

①Build Tools for Visual Studio

 オフラインでのインストーラー作成に必要となるVisual Studio ブートストラップを以下からダウンロードする。このとき選択するのは「Visual Studio 2026ビルドツール」。

ネットワーク ベースのインストールを作成する – Visual Studio (Windows)
プライベート ネットワーク インストール ポイントを作成して Visual Studio をデプロイし、アクセス許可が制限されたエンタープライズ ユーザーまたはインターネット アクセスが制限されたクライアント マシンをサポートします。

 ダウンロード先はどこでもよいが、この後C++のオフラインインストールに必要なファイルが同じディレクトリに保存されるため、十分な空き容量があるディスクに保存すること。

 ダウンロードしたディレクトリの余白部分を右クリックし、「ターミナルを開く」を押下する。
 コマンドプロンプト(またはPowerShell)が立ち上がるので、以下のコマンドを入力し、オフラインインストールに必要な資源をダウンロードする。

vs_BuildTools.exe --layout .\VSLayout --lang en-US ja-JP --add Microsoft.VisualStudio.Workload.VCTools --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 --add Microsoft.VisualStudio.Component.Windows11SDK.26100 --add Microsoft.VisualStudio.Component.VC.CMake.Project

 すると、以下のようなウィンドウが表示されるので、Layout progressが100%になるまで放置する。

 ダウンロードが完了すると、ブートストラップと同じディレクトリにVSLayoutフォルダが作成されている。

 VSLayout\certificates配下には3つの証明書がある。ただし、これだけではオフラインインストールの際にエラーが発生するため、追加の証明書を事前に取得しておく必要がある。

 以下のリンク先から「Microsoft Windows Code Signing PCA 2024.crt」をダウンロードし、「certificates」フォルダに入れておく。

Developer Community
Developer Community

 Build Tools for Visual Studioの準備は終了。

(おまけ)
 コマンドプロンプトに入力したコマンドは、llama-cpp-pythonのビルドに必要なモノに限っている。-addコマンドでダウンロードするパッケージを宣言しており、以下のとおりである。

名前コンポーネントID
身分証明書Microsoft.VisualStudio.Workload.VCTools
x64/x86 用 MSVC ビルド ツール (最新)Microsoft.VisualStudio.Component.VC.Tools.x86.x64
Windows 11 SDK (10.0.26100.6901)Microsoft.VisualStudio.Component.Windows11SDK.26100
Windows 用 C++ CMake ツールMicrosoft.VisualStudio.Component.VC.CMake.Project

 もし、追加したいモノがあれば以下のリンクを参考に、「–add コンポーネントID」を記載することで追加可能。

Visual Studio Build Tools のワークロード ID とコンポーネント ID
Visual Studio のワークロード ID とコンポーネント ID を使用して、従来の Windows ベースのアプリケーションを構築する

②CMake

以下、書きかけ。

コメント