« CUDA(GPGPU)をはじめようとグラフィックカードを購入した | トップページ | Visual Studio 2010 Express と CUDA4.0でプログラムを実行してみる その2 プロジェクト設定 »

2011/07/14

Visual Studio 2010 Express と CUDA4.0でプログラムを実行してみる その1 インストール

Windows上でのCUDAプログラミングはVisual Studio上で行うのが便利そうなので環境を構築してみます。

現時点で日本語のblogやWeb上の記事を検索してみたところ、Visual Studio 2008 で行う方法の記載がほとんどでしたが、CUDA4.0からはVisual Studio 2010 に対応していますので、今回は表題のバージョンに挑戦します。安定性の面でVS2008&CUDA3.2を選択するのもアリだと思います。その場合は他の方の記事を参照ください。

構築する環境は以下の通りです。

 

Visual C++ 2010 Express と Windows SDK 7.1 をインストールする

64bitバイナリを作成するのにはWindows SDKが必要なので、VC++に加えてSDKのインストールも行います。ただし、このときインストールする順番を間違えるとx64コンパイラが削除されてしまうバグがあるそうですので注意してください。

  1. MicrosoftのサイトからVC++ 2010 Express のインストーラをダウンロードしインストールを行います。
  2. MicrosoftのサイトからWindows SDK のインストーラをダウンロードしインストールを行います。
  3. MicrosoftのサイトからVisual Studio 2010 Service Pack 1 をダウンロードしインストールを行います。
  4. MicrosoftのサイトからVisual C++ 2010 SP1 Compiler Update for Windows SDK 7.1 をダウンロードしインストールを行います。

この手順はVisual C++ Team Blogの記述を参考にしたもので、実のところ私が採った手順とは異なりますが、公式に説明されている以上この手順で行うのが確実でしょう。

 

CUDA Toolkit 4.0 (May 2011) をインストールする

NVIDIA CUDA Zoneのサイトからリンク “CUDA Downloads” –> “GET LATEST CUDA TOOLKIT PRODUCTION RELEASE”を辿ってダウンロードページに行き(現時点ではこちらのページ)、必要なバイナリをダウンロード後インストールを行います。

  1. Developer Drivers for WinVista and Win7 (270.81) 64-bit をダウンロードしインストールを行います。
    • このDeveloper Driverは不要で、nvidia.comやWindows Updateで入手できる普通のドライバでOKという話も。実際、私も間違えてWindows Updateから、より新しいバージョン(275.33)を上書きインストールしてしまいましたが、問題なく開発できています…
  2. CUDA Toolkit 64-bit をダウンロードしインストールを行います。
  3. CUDA Toolkit 4.0 Build Customization BUG FIX Update をダウンロードし、READMEの通りに、2ファイルを既存のファイルに上書きします。
  4. CUDA Tools SDK 64-bit をダウンロードしインストールを行います。

その他のバイナリも順にインストールしていこうと考えていたのですが、GPU Computing SDK code samples のインストーラがregistrationのところで固まってしまい強制終了するしか手段が無くなったのでここまでで止めました。[追記: ウイルスバスターを終了させるとインストールできました。]

ちなみに、CUDA ToolkitとSDKは以前までのバージョンとは異なり(?)、両方C:\Program Files\NVIDIA GPU Computing Toolkit以下にインストールされるようです。

 

CUDA 4.0.props を編集する

前述CUDA Toolkitインストール手順3. で上書きした C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations\CUDA 4.0.props ですが、Windows SDK を利用してビルドを行う場合にはこのままでは不具合がありますのでここで編集しておきます。

45行目,46行目をコメントアウトし、CudaClVersion が常に2010となるようにします。

編集後、該当行は以下のようになります。

<!--
        <CudaClVersion Condition="'$(PlatformToolset)' == 'v90'">2008</CudaClVersion>
        <CudaClVersion Condition="'$(PlatformToolset)' == 'v100'">2010</CudaClVersion>
-->
        <CudaClVersion>2010</CudaClVersion>

 

x64ビルド用環境設定batファイルを作成する

C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64vcvars64.bat というテキストファイルを作成し、下記1行を記述して保存します。

CALL "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64

参考: vcvarsall.bat no 64bit support vcvars64.bat missing

« CUDA(GPGPU)をはじめようとグラフィックカードを購入した | トップページ | Visual Studio 2010 Express と CUDA4.0でプログラムを実行してみる その2 プロジェクト設定 »

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/18902/52200973

この記事へのトラックバック一覧です: Visual Studio 2010 Express と CUDA4.0でプログラムを実行してみる その1 インストール:

» Visual Studio 2010 Express と CUDA4.0でプログラムを実行してみる その2 プロジェクト設定 [雪羽の発火後忘失]
その1でインストールを行いましたので、次にVisual C の設定を行い、その後サンプルプログラムを作成・実行してみます。 VC6時代は全体に影響する設定が大半だった記憶があります。そのため、プロパティ画面からは設定せず(画面で設定してしまうと他のプロジェクトにも影響を与えてしまうので)、プロジェクトごとに起動用バッチファイルを作成し、そこに必要な環境変数などを設定して…というようなことを行って... [続きを読む]

» gpucomputingsdk_4.0.17_win_64.exe がインストールできないのはウイルスバスターのせいだった [雪羽の発火後忘失]
Visual Studio 2010 Express と CUDA4.0でプログラムを実行してみる その1 インストール: 雪羽の発火後忘失 で、GPU computing SDK インストーラが途中でフリーズしてしまってインストールが正常に行えない、と記載しました。 これはどうやらウイルスバスター2011の問題だったようで、ウイルスバスターを停止後インストーラを実行することで正常終了させることが... [続きを読む]

« CUDA(GPGPU)をはじめようとグラフィックカードを購入した | トップページ | Visual Studio 2010 Express と CUDA4.0でプログラムを実行してみる その2 プロジェクト設定 »

other sites

  • follow us in feedly
  • github
  • stackoverflow

ソフトウェアエンジニアとして影響を受けた書籍

  • Christain Bauer: HIBERNATE イン アクション

    Christain Bauer: HIBERNATE イン アクション
    理論と実践が双方とも素晴らしい製品であるHibernate。本書はそのプロダクトを書名に冠していますが、Hibernateを使うつもりがなく、ORマッピングの解説書として読むにしても十分な良書です。Second EditionとしてJava Persistence With Hibernateという書籍も出版されていますが、残念ながら現在のところ 和訳はされていません。-インアクションは2.xの、Java Persistence-は3.1の頃のものなので、最新版とはちょっと違うところもあることに注意。 (★★★★★)

  • アンドリュー・S・タネンバウム: 分散システム 原理とパラダイム 第2版

    アンドリュー・S・タネンバウム: 分散システム 原理とパラダイム 第2版
    クライアント/サーバシステムを構築する上で必要となる知識が総論されてます。Web技術者も、フレームワーク部分を開発するのであれば必読。 (★★★★★)

  • Joel Spolsky∥著: ジョエル・オン・ソフトウェア

    Joel Spolsky∥著: ジョエル・オン・ソフトウェア
    前述の書籍「ソフトウエア開発プロフェッショナル」をより砕いたもの、という感じでしょうか。 前書きではプログラマでなくSE向けの本のように書かれているが、プログラマが読んでも面白い本であると思われます。 SEになった新人(あるいはそういう会社に入る/入りたての人)にとっては、これからどういったことが仕事を遂行していく上で起こりえるのか、どのように考えて行なっていけばいいのか決定する助けになると思います。 元は″Joel on Software″というブログの記事で、web上でも一部日本語で読めます。 http://japanese.joelonsoftware.com/ (★★★)

  • ドナルド・C・ゴース,ジェラルド・M・ワインバーグ: ライト、ついてますか

    ドナルド・C・ゴース,ジェラルド・M・ワインバーグ: ライト、ついてますか
    問題解決(一昔前のの流行語で言うところの『ソリューション』)能力は、システムエンジニアのスキルとして備えるべきもののうちのひとつです。しかし、これは難しい。学校で出されるテストと違い、唯一の、(問題提出者が想定している)解を求めるだけが「問題解決」では無いからです。そもそも、何が問題なのか、それは本当に問題なのか、それは本当に解決すべき問題なのか、その問題解決方法は正しいのか、などを解決しなければ、「その解は正しいのか」に辿りつくことができません。この本の最も良いところのひとつは、本があまり厚くないこと。すぐに読めるし、何回も読み返す気になるでしょう。 (★★★★★)

  • スティーブ・マコネル: ソフトウエア開発プロフェッショナル

    スティーブ・マコネル: ソフトウエア開発プロフェッショナル
    コードコンプリートで有名なスティーブマコネルの著書。新人SEに読んで欲しい。個人として業界の中でどうあるべきか、組織としてどうあるべきか、SEのプロ意識とは?SEの心構え概論、といったところでしょうか。また、業界における資格の重要性についても説かれています。この業界では資格が特に軽んじられる傾向がありますが、この傾向はどんな弊害をもたらすのか、将来的にこの業界は資格に対してどのような姿勢で臨んでいくべきなのか。日経BP社では(他の出版社もだが)最近、似たような類いのあまり面白くない書籍が乱出版されていますが、この本は別格だと思うので安心して購入して欲しいと思います。 (★★★★★)

無料ブログはココログ