CuPy 13.2 のインストール,CuPy のプログラム例(Windows 上)
【目次】
CuPy
CuPy は NumPyのGPU実装であり,CUDA対応GPUで高速な数値計算を行うためのPythonライブラリである.
【関連する外部ページ】
- CuPy の公式ページ: https://cupy.dev/
- CuPy の公式のインストールページ: https://docs.cupy.dev/en/stable/install.html
【関連項目】 NVIDIA CUDA
前準備
Python 3.12 のインストール
Pythonのインストールを行い、Pythonのプログラムを実行する環境を整える。扱う環境は、Windows搭載パソコンである。金子研究室では、Python 3.12.10を推奨する。
[Windows での Python 3.12 のインストール手順を見るには、ここをクリック]
Windows での Python 3.12 のインストール
以下のいずれかの方法でPython 3.12をインストールする。Pythonがインストール済みの場合、この手順は不要である。
方法 1:winget によるインストール
【インストールコマンドの実行方法】
管理者権限でコマンドプロンプトを起動する(手順:Windowsキーまたはスタートメニュー → cmd と入力 → 右クリック → 「管理者として実行」)。そして、コマンド全体をコマンドプロンプトにコピー&ペーストする。
--scope machine を指定することで、システム全体(全ユーザー向け)にインストールされる。このオプションの実行には管理者権限が必要である。インストール完了後、コマンドプロンプトを再起動するとPATHが反映される。
REM Python 3.12 をシステム領域にインストール
winget install --id Python.Python.3.12 -e --scope machine --silent --accept-source-agreements --accept-package-agreements --override "/quiet InstallAllUsers=1 PrependPath=1 Include_test=0 Include_pip=1 Include_launcher=1 InstallLauncherAllUsers=1 TargetDir=\"C:\Program Files\Python312\""
REM Python と Scripts を PATH 先頭に追加
powershell -NoProfile -Command "$p='C:\Program Files\Python312'; $s=\"$p\Scripts\"; $c=[Environment]::GetEnvironmentVariable('Path','Machine'); if((Test-Path $p) -and (';'+$c+';' -notlike \"*;$p;*\") -and (';'+$c+';' -notlike \"*;$s;*\")){[Environment]::SetEnvironmentVariable('Path',\"$p;$s;$c\",'Machine')}"
方法 2:インストーラーによるインストール
- Python公式サイト(https://www.python.org/downloads/)にアクセスし、「Download Python 3.x.x」ボタンからWindows用インストーラーをダウンロードする。
- ダウンロードしたインストーラーを実行する。
- 初期画面の下部に表示される「Add python.exe to PATH」にチェックを入れてから「Customize installation」を選択する。このチェックを入れ忘れると、コマンドプロンプトから
pythonコマンドを実行できない。 - 「Install Python 3.xx for all users」にチェックを入れ、「Install」をクリックする。
インストールの確認
コマンドプロンプトで以下を実行する。
python --version
バージョン番号(例:Python 3.12.x)が表示されればインストール成功である。「'python' は、内部コマンドまたは外部コマンドとして認識されていません。」と表示される場合は、インストールが正常に完了していない。
Git のインストール(Windows 上) [クリックして展開]
管理者権限のコマンドプロンプトで以下を実行する.管理者権限は,winget の --scope machine オプションでシステム全体にインストールするために必要となる.
REM Git をシステム領域にインストール
winget install --scope machine --id Git.Git -e --silent --disable-interactivity --force --accept-source-agreements --accept-package-agreements --override "/VERYSILENT /NORESTART /NOCANCEL /SP- /CLOSEAPPLICATIONS /RESTARTAPPLICATIONS /COMPONENTS=""icons,ext\reg\shellhere,assoc,assoc_sh"" /o:PathOption=Cmd /o:CRLFOption=CRLFCommitAsIs /o:BashTerminalOption=MinTTY /o:DefaultBranchOption=main /o:EditorOption=VIM /o:SSHOption=OpenSSH /o:UseCredentialManager=Enabled /o:PerformanceTweaksFSCache=Enabled /o:EnableSymlinks=Disabled /o:EnableFSMonitor=Disabled"
Build Tools for Visual Studio 2026(ビルドツール)のインストール
Build Tools for Visual Studio 2026(ビルドツール)のインストールを行い、C/C++ コードのビルド環境を整える。
Build Tools for Visual Studio は,Visual Studio の IDE を含まない C/C++ コンパイラ,ライブラリ,ビルドツール等のコマンドライン向け開発ツールセットである。インストール済みの場合,この手順は不要である。 以下のコマンドは、Build Tools が未インストールの場合は winget で新規インストールし、インストール済みの場合は 【インストールコマンドの実行方法】 管理者権限でコマンドプロンプトを起動する(手順:Windows キーまたはスタートメニュー → 上記のコマンドでは、Build Tools 本体と Visual C++ 再頒布可能パッケージをインストールし、続いて以下のコンポーネントを追加している。 上記以外の追加のコンポーネントが必要になった場合は Visual Studio Installer で個別にインストールできる。 インストール完了の確認 Visual Studio を必要とするとき Visual Studio の機能を必要とする場合は,追加インストールできる。[Build Tools for Visual Studio 2026(ビルドツール)のインストール手順を見るには、ここをクリック]
Windows での Build Tools for Visual Studio 2026 のインストール
setup.exe modify でコンポーネントを追加する(バージョンは変更しない)。cmd と入力 → 右クリック → 「管理者として実行」)。そして、コマンド全体をコマンドプロンプトにコピー&ペーストする。REM VC++ ランタイム
winget install --scope machine --id Microsoft.VCRedist.2015+.x64 -e --silent --disable-interactivity --force --accept-source-agreements --accept-package-agreements --override "/quiet /norestart"
REM ============================================================
REM Visual Studio Build Tools + Desktop development with C++
REM (VCTools、MSBuildTools、CMake連携、Clang、Windows 11 SDK)
REM ============================================================
REM 進行中のインストーラーを停止(ロック競合回避)
taskkill /F /IM vs_setup.exe /T >nul 2>&1
taskkill /F /IM vs_installer.exe /T >nul 2>&1
taskkill /F /IM vs_installerservice.exe /T >nul 2>&1
REM 未インストール時: winget で新規インストール
REM インストール済み時: setup.exe modify でコンポーネント追加(バージョンは変更しない)
winget list --id Microsoft.VisualStudio.BuildTools 2>nul | findstr /i "BuildTools" >nul 2>&1
if %ERRORLEVEL% EQU 0 (
for /f "usebackq delims=" %P in (`"C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -products Microsoft.VisualStudio.Product.BuildTools -property installationPath`) do start /wait "" "C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe" modify --installPath "%P" --add Microsoft.VisualStudio.Workload.VCTools --add Microsoft.VisualStudio.Workload.MSBuildTools --add Microsoft.VisualStudio.Component.VC.CMake.Project --add Microsoft.VisualStudio.Component.VC.Llvm.Clang --add Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset --add Microsoft.VisualStudio.Component.Windows11SDK.26100 --includeRecommended --quiet --norestart --nocache
) else (
winget install --scope machine --id Microsoft.VisualStudio.BuildTools -e --silent --disable-interactivity --force --accept-source-agreements --accept-package-agreements --override "--quiet --wait --norestart --nocache --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended --add Microsoft.VisualStudio.Workload.MSBuildTools --add Microsoft.VisualStudio.Component.VC.CMake.Project --add Microsoft.VisualStudio.Component.VC.Llvm.Clang --add Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset --add Microsoft.VisualStudio.Component.Windows11SDK.26100"
)
REM 破損時の修復(任意、動作がおかしくなった場合)
REM "C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe" repair --installPath "C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools" --quiet --norestart
REM 導入確認(インストールパスが表示されれば正常)
"C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -products * -requires Microsoft.VisualStudio.Workload.VCTools -property installationPath
--includeRecommended により、MSVC コンパイラ、C++ AddressSanitizer、vcpkg、CMake ツール、Windows 11 SDK 等の推奨コンポーネントが含まれる)winget list Microsoft.VisualStudio.BuildTools
NVIDIA ドライバのインストール(Windows 上)
NVIDIA ドライバとは
NVIDIA ドライバは,NVIDIA製GPUをWindowsシステム上で適切に動作させるための基盤となるソフトウェアです.このドライバをインストールすることにより,GPUの性能を最大限に引き出し,グラフィックス処理はもちろん,CUDAを利用したAI関連アプリケーションなどの計算速度を向上させることが期待できます.
ドライバは通常、NVIDIA公式サイトからダウンロードするか、NVIDIA GeForce Experienceソフトウェアを通じてインストール・更新します。
公式サイト: https://www.nvidia.co.jp/Download/index.aspx?lang=jp
【サイト内の関連ページ】
- (再掲) NVIDIA グラフィックス・ボードの確認
インストールするドライバを選択するために、まずご使用のPCに搭載されているNVIDIAグラフィックス・ボードの種類を確認します。(確認済みであれば、この手順は不要です。) Windows のコマンドプロンプトで次のコマンドを実行します。
powershell -command "Get-CimInstance Win32_VideoController | Select-Object -ExpandProperty Name" - NVIDIA ドライバのダウンロード
確認したグラフィックス・ボードのモデル名と、お使いのWindowsのバージョン(例: Windows 11, Windows 10 64-bit)に対応するドライバを、以下のNVIDIA公式サイトからダウンロードします.
https://www.nvidia.co.jp/Download/index.aspx?lang=jp
サイトの指示に従い、製品タイプ、製品シリーズ、製品ファミリー、OS、言語などを選択して検索し、適切なドライバ(通常は最新のGame Ready ドライバまたはStudio ドライバ)をダウンロードします。
- ドライバのインストール
ダウンロードしたインストーラー(.exeファイル)を実行し、画面の指示に従ってインストールを進めます。「カスタムインストール」を選択すると、インストールするコンポーネント(ドライバ本体、GeForce Experience、PhysXなど)を選ぶことができます。通常は「高速(推奨)」で問題ありません。
インストール完了後、システムの再起動を求められる場合があります。
- CUDA対応のNVIDIA GPU。
- 対応するNVIDIA ドライバ。
- サポートされているバージョンのC++コンパイラ (Visual StudioまたはBuild Toolsをインストール済み)。
- Windows では,NVIDIA CUDA ツールキットのインストール中は,予期せぬ問題を避けるため、なるべく他のアプリケーションは終了しておくことが推奨されます。
- インストール後に環境変数が正しく設定されているか確認することが重要です。
- NVIDIA CUDA ツールキットのアーカイブの公式ページ: https://developer.nvidia.com/cuda-toolkit-archive (他のバージョンが必要な場合)
- NVIDIA CUDA ツールキット の公式ドキュメント: https://docs.nvidia.com/cuda/index.html
- NVIDIA CUDA ツールキットのインストールに関する,NVIDIA CUDA Installation Guide for Windows: https://docs.nvidia.com/cuda/cuda-installation-guide-windows/index.html
- (再掲) 他のウィンドウを閉じる:インストール中のコンフリクトを避けるため、可能な限り他のアプリケーションを終了します。
- Windows で,コマンドプロンプトを管理者権限で起動します。
-
wingetコマンドで CUDA 11.8 をインストールします。以下のコマンドは、(必要であれば)NVIDIA GeForce Experienceと、指定したバージョンのNVIDIA CUDA ツールキット (11.8) をインストールします。また、
CUDA_HOME環境変数を設定します(一部のツールで参照されることがあります)。rem グラフィックボードの確認 (参考) powershell -command "Get-CimInstance Win32_VideoController | Select-Object -ExpandProperty Name" rem CUDA Toolkit 11.8 のインストール winget install --scope machine Nvidia.CUDA --version 11.8 rem CUDA_HOME 環境変数の設定 (システム環境変数として設定) powershell -command "[System.Environment]::SetEnvironmentVariable(\"CUDA_HOME\", \"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\", \"Machine\")"注釈: これは特定のバージョン(11.8)をインストールする例です。他のバージョンをインストールする場合は
--versionオプションを適宜変更してください(例:--version 11.2)。利用可能なバージョンはwinget search Nvidia.CUDAで確認できます。 - (重要) ユーザ環境変数 TEMP の設定(日本語ユーザ名の場合)
Windows のユーザ名に日本語(マルチバイト文字)が含まれている場合、CUDAコンパイラ
nvccが一時ファイルの作成に失敗し、コンパイルが正常に動作しないことがあります(エラーメッセージが表示されない場合もあるため注意が必要です)。この問題を回避するために、ユーザ環境変数TEMPおよびTMPを、ASCII文字のみのパス(例:C:\TEMP)に変更します。管理者権限のコマンドプロンプトで,次のコマンドを実行して
C:\TEMPディレクトリを作成し、ユーザ環境変数TEMPとTMPを設定します。mkdir C:\TEMP powershell -command "[System.Environment]::SetEnvironmentVariable(\"TEMP\", \"C:\TEMP\", \"User\")" powershell -command "[System.Environment]::SetEnvironmentVariable(\"TMP\", \"C:\TEMP\", \"User\")"この設定は、コマンドプロンプトを再起動するか、Windowsに再サインインした後に有効になります。
- CuPy の公式のインストールページを開く
- 開いたページで,必要となるNVIDIA CUDA ツールキット,Python のバージョンの確認
- CuPy の公式ページを開く
- 使用している NVIDIA CUDA ツールキットのバージョンに合うものの指示に従う.
- Windows で,管理者権限でコマンドプロンプトを起動(手順:Windowsキーまたはスタートメニュー >
cmdと入力 > 右クリック > 「管理者として実行」)。 - CuPy のインストール
「11x」のところは,使用している NVIDIA CUDA ツールキットのバージョンに合わせて調整すること.
python -m pip install -U cupy-cuda11x
- 確認
python -c "import cupy; print( cupy.__version__ )"
- 配列(cupy.ndarray)の作成と操作
import cupy as cp # GPU配列の作成 x_gpu = cp.array([1, 2, 3]) # GPU上での計算 y_gpu = x_gpu * 2 print(y_gpu) # array([2, 4, 6])
- ユーザー定義カーネル
import numpy as np import cupy as cp squared_diff = cp.ElementwiseKernel( 'float32 x, float32 y', 'float32 z', 'z = (x - y) * (x - y)', 'squared_diff' ) x = cp.arange(10, dtype=np.float32) y = cp.ones(10, dtype=np.float32) z = squared_diff(x, y) print(z) # array([1., 0., 1., 4., 9., 16., 25., 36., 49., 64.], dtype=float32)
- Rawカーネル
import cupy as cp add_kernel = cp.RawKernel(r''' extern "C" __global__ void my_add(const float* x1, const float* x2, float* y) { int tid = blockDim.x * blockIdx.x + threadIdx.x; y[tid] = x1[tid] + x2[tid]; } ''', 'my_add') x1 = cp.arange(25, dtype=cp.float32).reshape(5, 5) x2 = cp.arange(25, dtype=cp.float32).reshape(5, 5) y = cp.zeros((5, 5), dtype=cp.float32) add_kernel((5,), (5,), (x1, x2, y)) print(y)
- カーネルフュージョン
import cupy as cp @cp.fuse() def squared_diff(x, y): return (x - y) * (x - y) x_cp = cp.arange(10) y_cp = cp.arange(10)[::-1] result = squared_diff(x_cp, y_cp) print(result) # array([81, 49, 25, 9, 1, 1, 9, 25, 49, 81])
NVIDIA CUDA ツールキット 11.8 のインストール(Windows 上)
CUDAツールキットには、GPUでプログラムを実行するためのライブラリ、`nvcc`コンパイラ、開発ツールなどが含まれています。ここでは`winget`を使ってCUDA 11.8をインストールする手順を示します。
NVIDIA CUDA ツールキットの概要と注意点
NVIDIAのGPUを使用して並列計算を行うための開発・実行環境です。
主な機能: GPU を利用した並列処理のコンパイルと実行、GPU のメモリ管理、C++をベースとした拡張言語(CUDA C/C++)とAPI、ライブラリ(cuBLAS, cuFFTなど)を提供します。
【NVIDIA CUDA ツールキットの動作に必要なもの】
【Windows でインストールするときの一般的な注意点】
【関連する外部ページ】
【関連項目】 NVIDIA CUDA ツールキットの概要, NVIDIA CUDA ツールキットの他バージョンのインストール