
目次 >> CUDA >> インストール(Windows編)
NVIDIAのGPGPU開発環境であるCUDA(Compute unified device architecture)をインストールして、使ってみる。
使用機材は、WindowsXP向けが
GeForce8400 GS
AMD Athlon 64X2 5200+
RAM 4GB
マザーボードASUS M2NPV-VM
まず、Visual C++ 2005をインストールする。(現時点では、Visual C++ 2008はサポートしていない。)仮に、Visual
C++ 2008で実行しようとしても、
>nvcc template.cu
nvcc fatal : nvcc cannot find a supported cl version. Only MSVC 7.1 and MSVC 8.0 are supported
の様なエラーが出てコンパイルできない。
Visual C++のインストールが終わったら、次に、CUDA Toolkit version 1.1 for Windows XPをインストールし、次に、CUDA
SDK version 1.1 for Windows XPをインストールする。
まず、このページ(http://www.nvidia.com/object/cuda_get.html)からダウンロードする。NVIDIA_CUDA_Toolkit_1.1_x86.exeというファイルをダブルクリックすると、
ここは次へ。
ライセンスに同意して、
ルートディレクトリにインストールされるのがいやではあるが、とりあえずこのままインストール。
インストールボタンを押すとインストールが始まり、
これで完了。
Toolkitとおなじ、このページ(http://www.nvidia.com/object/cuda_get.html)からダウンロードする。NVIDIA_CUDA_SDK_1.1_x86.exeというファイルをダブルクリックすると、
ここは次へ。
ライセンスに同意して次へ。
名前と組織を入力して次へ。
これはC:\Program Files以下にインストールされる。
インストールボタンを押すとインストールが始まる。
これで完了。
デフォルトの設定では、コマンドラインからコンパイルできない。統合環境もよいが、将来的にUnix上でも動くものを作成するためにも、コマンドラインからコンパイルできるようにしておく。
デフォルトのパスにインストールされているとすると、環境変数INCLUDEはVisual C++のも含めると、
C:\Program Files\Microsoft Visual Studio 8\VC\INCLUDE;C:\Program Files\NVIDIA Corporation\NVIDIA CUDA SDK\common\inc
LIBも同様に
C:\Program Files\Microsoft Visual Studio 8\VC\LIB;C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\lib;C:\CUDA\lib; C:\Program Files\NVIDIA Corporation\NVIDIA CUDA SDK\common\lib
とセットする。
PATHは
C:\CUDA\bin;C:\Program Files\Microsoft Visual Studio 8\VC\bin;C:\Program Files\Microsoft Visual Studio 8\Common7\IDE;
さらに、cutil32.dllといったdllを検出できるよう
C:\Program Files\NVIDIA Corporation\NVIDIA CUDA SDK\bin\win32\Release;C:\Program Files\NVIDIA Corporation\NVIDIA CUDA SDK\bin\win32\Debug
を追加する。
C:\Program Files\NVIDIA Corporation\NVIDIA CUDA SDK\projects\simpleTemplates
というフォルダに、simpleTemplatesというサンプルファイルがあるので、上手く設定できたかどうかを確かめる意味も含めてコンパイルしてみる。
上記フォルダ内のsimpleTemplates.slnをダブルクリックなどで開くと、Visual C++が立ち上がるはずである。ここで単にビルドして、
Processing time: 39.757286 (ms)
Test PASSED
Processing time: 0.503695 (ms)
Test PASSED
Press ENTER to exit...
の様に出れば、成功である。
次に、統合環境を使わずに、コマンドプロンプトからコンパイルしてみる。必要なファイルは、
sharedmem.cuh simpleTemplates.cu simpleTemplates_kernel.cu
である。まず、nvccを使って、objファイルを作る。
nvcc -ccbin "C:\Program Files\Microsoft Visual Studio 8\VC\bin" -c -DWIN32 -D_CONSOLE -D_MBCS -Xcompiler /EHsc,/W3,/nologo,/Wp64,/O2,/Zi,/MT simpleTemplates.obj simpleTemplates.cu
simpleTemplates.cu
tmpxft_00000adc_00000000-3.gpu
tmpxft_00000adc_00000000-7.gpu
tmpxft_00000adc_00000000-3.c
tmpxft_00000adc_00000000-12.i
の様にコンパイルされる。これからリンカを使ってexeファイルを作る。
link /OUT:simpleTemplates.exe simpleTemplates.obj cudart.lib cutil32D.lib kernel32.lib
Microsoft (R) Incremental Linker Version 8.00.50727.42
Copyright (C) Microsoft Corporation. All rights reserved.
とエラーがなく完了すれば、simpleTemplates.exeというファイルができているはずである。