💬
VSCodeでCUDAの開発環境構築(Windows)
対象読者
- Windowsを使用して開発を行いたい人
- CUDA on WSL2ではなく、Windows上でビルドして実行したい人
- VSCodeでCUDAを自動補完しながら開発したい人
1. 前提条件
-
PATHについての基礎知識
-
Visual StudioにC/C++サポートがインストール済みであること
-
VSCode をインストール済みであること
-
CUDA Toolkit をインストール済みであること
以降では、CUDA 11.8 として記載します。GPUは、RTX3060を想定しています。
2. 拡張機能のインストール
VSCodeに下記の拡張機能をインストールします。
-
C/C++
-
Nsight Visual Studio Code Editon
3. タスクの設定等
ワークディレクトリ以下に下記を用意します。参考例であることにご注意ください。
- .vscode/c_cpp_properties.json
- 『Ctrl + Shift + P』 で、コマンドパレットを開く。
- 『C/Cpp: Edit configurations...』 を選択。
- c_cpp_properties.jsonが作成されるので、コンパイラのPATHを通す。
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"windowsSdkVersion": "10.0.22000.0",
"compilerPath": "\"${CUDA_PATH}/bin/nvcc.exe\"",
"cStandard": "c17",
"cppStandard": "c++17",
"intelliSenseMode": "windows-msvc-x64"
}
],
"version": 4
}
- .vscode/task.json
- 『Ctrl + Shift + P』 で、コマンドパレットを開く。
- 『Tasks: Configure Task』 を選択する。
- task.jsonが作成されるので、PATH等の設定を行う。
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: nvcc.exe アクティブなファイルのビルド",
"command": "\"${CUDA_PATH}/bin/nvcc.exe\"",
"args": [
"-arch=sm_86",
"-rdc=true",
"-use_fast_math",
"-O2",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe",
"-lcudadevrt",
],
"options": {
"cwd": "${CUDA_PATH}/bin"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "デバッガーによって生成されたタスク。"
}
],
"version": "2.0.0"
}
- .vscode/launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "CUDA C++: Launch",
"type": "cuda-gdb",
"request": "launch",
"program": ""
},
{
"name": "CUDA C++: Attach",
"type": "cuda-gdb",
"request": "attach"
}
]
}
4. ビルド
『Ctrl + Shift + B』 でタスクが実行され、ビルドできます。
Discussion