無償版Visual C++でCUDAの64 bitバイナリをコンパイル

出典: トータル・ディスクロージャ・サイト(事実をありのままに)

この記事は、無償版Visual C++でCUDAの64 bitバイナリをコンパイル - 正統納豆天国ブログ - Yahoo!ブログの許可を取って、転載した記事です。元記事はCUDA 3.2の頃の状況を基にしているため、現状と合わない部分があります。

目次

概要

CUDAのコンパイラnvccは、Windows版はVisual C++に依存している。一方、無償版のVisual C++ Expressは、64 bitバイナリをコンパイルできない。そのため、nvccを使ってCUDAの64 bitバイナリをコンパイルするには、Visual Studioの有償版が必要、と思われていた。

ところが、Windowsで使えるフリーウェアのみを用いて、nvccを64 bitコンパイルする方法が見つかった。

以下、Windows 7 x64でのインストール手順のメモ。OS等のバージョンが違うと、作業の工程が変わる可能性があるので、ご了承を。

必要なもの

  1. Visual C++ 2008 Express(CUDA 3.2当時、対応していた最新のVisual C++無償版。現在のCUDA 4.0は、VC++ 2010も対応しているが、この方法が使えるかどうかは未検証。)
  2. Windows SDK for Windows Server 2008 and .NET Framework 3.5(VC++ 2008に対応するWindows SDKは6.1であるが、VC++ 2010に対応するWindows SDKは7.1である点に注意。)
  3. CUDA 3.2 Toolkit(2011/11/10現在の最新版は、CUDA 4.0。)

行程

まずは、Visual C++ Expressをインストール。そして、Windows SDKもインストール。この時点で、C++の64 bitコンパイル環境は整う。ただし、この状態でCUDAをインストールしても、依然

Visual Studio configuration file '(null)' could not be found for installation at ~

というエラーメッセージを出して、nvccはコンパイルに失敗する。次に必要な手順は、ファイル

C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvars64.bat

を、

C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\amd64\vcvarsamd64.bat

にコピーする作業(パスの前半部は、ここまでのインストールオプションで変わっている可能性あり)。この作業を行えば、CUDAをインストールしたのち、nvccで64 bitコンパイルができるようになる。

参考資料

CUDA linking error - Visual Express 2008 - nvcc fatal due to (null) configuration file - Stack Overflow


この記事へのコメントをお寄せください

  • サイトへの書き込みに差し支えございましたら トータルディスクロージャーサイトサポート係へメールをお送りください
  • トータル・ディスクロージャ・サイトに投稿された文章と画像は、すべてその著作権がHPCシステムズ株式会社に帰属し、HPCシステムズ株式会社が著作権を所有することに同意してください。
  • あなたの文章が他人によって自由に編集、配布されることを望まない場合は、投稿を控えてください。
  • コメントを書き込む場合は名前にひらがなを織り交ぜてください。
  • あなたの投稿する文章と画像はあなた自身によって書かれたものであるか、パブリック・ドメインかそれに類する自由なリソースからの複製であることを約束してください。あなたが著作権を保持していない作品を許諾なしに投稿してはいけません!

<comments hideform="false" />


Comments

ノート:無償版Visual C++でCUDAの64 bitバイナリをコンパイル

個人用ツール