※お役立ち情報満載のOshirabe Goto へ立ち寄ってみてください。(ブックマークしておくと便利です。)

スポンサーサイト 

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

CUDAの設定 

最近、グラフィックボードPalit GeForce GTX 670 JETSTREAM 2GB (NE5X670H1042-1042J V2)にはまっております。

このボード、並列計算ができます。計算速度はCPUのざっと100倍!! これのためにCUDAというC++によく似た、グラフィックコアGPUを制御するプログラミング言語がNVIDIAのサイトに転がっております。


設定にいろいろとてこずりましたので、参考になればと私が行った設定方法を付記します。

まず、Windows7 64bit、デスクトップということで話を進めていきます。

とりあえず、Geforceなり、Quadoroなり、Teslaを買えば、それなりのデバイスドライバがCDでついてくるのでNVIDIAのデバイスドライバを入れてください。。最新型をNVIDIAのサイトから取ってくることをお勧めします。windows updateのオプションを入れると私の場合は変になってしまいましたので、そこはご自身の判断にお任せします。


次にCUDAですが、最新バージョンは5.0です。

https://developer.nvidia.com/cuda-downloadsのWINDOWS: CUDA 5.0 Production Release、Win 8 / Win 7 / Win Vista、64bitを選択し、インストールしてください。

次にこれだけでは動きませんのでVisual Studio Express Editionを入れる必要があります。ほかのサイトで、「Visual Studio 2008 Express Edition」の入れ方しか説明していませんが、2010 Express Editionでも今のところきちんと動いています。

http://homepage2.nifty.com/nonnon/Chinamini/20110001/20110308.htmlのサイトのVisual C++ 2010 Express Editionを取ってきて、インストールしてください。(またはここから、直接ダウンロードできます。)

ここまでで、あと環境変数の設定等で動くような(動かないような)あやふやなことが書かれてておりましたが、Windows SDK for Windows 7は必要です!!

ここから取ってきてインストールしてください。

ここまでで、纏めますと、グラボのデバイスドライバ以外で、cuda_5.0.35_winvista_win7_win8_general_64-3.msivc_web.exewinsdk_web.exeの3つが必要です。


ここから環境変数の設定です。これは、ここのサイトが参考になります。コンパイルするためにパスを通したり、リンクパスを通したりします。cudaのほうは、インストール時、やってくれているようです。

まず、「コンピュータ」を右クリックし、プロパティー→システムの詳細設定→環境変数に入ります。ユーザー環境変数でもシステム環境変数でもどちらでもかまいません。みんなで使うか個人で使うかの違いです。

ここのサイトのpath=以降をコピーし、最後に継ぎ足します。塗り替えてはいけません。もっとも、pathという環境変数がなければ作ってそのまま張って結構です。

INCLUDE、LIB、LIBPATHも同様に設定します。それともうひとつ重要事項ですが、これら環境変数の変数値の「Microsoft Visual Studio 9.0」を「Microsoft Visual Studio 10.0」に変えてください。

あと、

C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin
C:\Program Files\Microsoft SDKs\Windows\v6.1\Include
C:\Program Files\Microsoft SDKs\Windows\v6.1\Lib

もPATH、INCLUDE、LIBに加えてください。最後がそれぞれ、%PATH%、%INCLUDE%、%LIB%になるようにして、セミコロンで繋げていき追加します。

ここでも注意が必要ですが、v6.1v7.1にする必要があります。

ファイル名をHello.cとし、

#include

void main( void ) {
printf( "Hello World!\n" );
}

をエディタで編集し、DOSプロンプトを起動し、コマンドラインから

cl Hello.c

を実行すると、Hello.exeが生成されますので、動かすと動きます。

CUDAの場合、もう人手間が要ります。もっとも

nvcc --machine 32 ~.cu -o ~

とすると32ビット環境での実行ファイルが生成されます。CUDAはデフォルトで64ビットですが、Visual studioが32ビットなのです。64ビットにこだわるならば、まず、このサイトに行ってください。そして、

vcvarsamd64.bat.txt

を取ってきます。vcvarsamd64.bat.txtをvcvars64.batに変えます。

中身も
@SET VSINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio 9.0
@SET VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC
@SET WIN64SDKDIR=C:\Program Files\Microsoft SDKs\Windows\v6.1

のところを、
@SET VSINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio 10.0
@SET VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC
@SET WIN64SDKDIR=C:\Program Files\Microsoft SDKs\Windows\v7.1 に。

後、直さなくても動いたのですが
@set LIBPATH=%FrameworkDir%\%Framework35Version%;%VCINSTALLDIR%\ATLMFC\LIB\amd64;%VCINSTALLDIR%\LIB\amd64;%LIBPATH%

は、35を取って、
@set LIBPATH=%FrameworkDir%\%FrameworkVersion%;%VCINSTALLDIR%\ATLMFC\LIB\amd64;%VCINSTALLDIR%\LIB\amd64;%LIBPATH%

としたほうが正解です。この修正したvcvars64.batをC:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64 煮コピーすれば完成です。

もっともこれは、\VC階層下のvcbarsall.batが呼び出され、64ビット環境に塗り替えるといったことをしているので、はじめの環境変数に64ビットを入れておけばいいことだけかもしれません。

ファイル名をhell_gpu.cuとし、

#include

__global__ void kernel( void ) {
}

int main( void ) {
kernel<<<1,1>>>();
printf( "Hello, GPU World!\n" );
return 0;
}

をエディタで編集、コマンドラインから

nvcc hello_gpu.cu -o hello_gpu

で実行ファイルhello_gpu.exeが生成されるはずです。これで、CUDA開発環境が整います。(ちなみに統合環境は使っておりません。)





Palit GeForce GTX 670 JETSTREAM 2GB (NE5X670H1042-1042J V2)





Palit GeForce GTX 680 JETSTREAM 4GB (NE5X680010G2-1041J V2)


自作pc 俺ならばこれを買う。

スポンサーサイト

この記事へのコメント

コメントをお寄せ下さい

(コメント編集・削除に必要)

トラックバック

この記事のトラックバックURL
http://tj502.blog32.fc2.com/tb.php/1451-bcae4ad9

気になるコンピュータ情報

お勧め情報!

自作PCに関しては「自作コンピュータ 俺ならばこれを買う。」にまとめました。ご活用ください。



上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。