Visual Studio2010とCUDAについて

このQ&Aのポイント
  • Visual Studio2010とCUDAのインストールに関する問題が発生しています。
  • CUDAのコンパイルエラーが発生し、MSVC 8.0とMSVC 9.0のみがサポートされていると表示されています。
  • VisualStudio2010のインストール時に9.0と10.0のバージョンができたため、コンパイルができない原因がわかりません。
回答を見る
  • ベストアンサー

Visual Studio2010とCUDA

Visual Studio2010とCUDA ご覧いただき有難うございます。 CUDAを勉強しようと思い、以下をインストールしました。 ・Microsoft Visual C++ 2010 Express ・Notebook Developer Drivers for WinVista and Win7 (260.61) ・CUDA Toolkit 3.2.12 ・GPU Computing SDK code samples 環境はWin7 64bitです。 「はじめてのCUDAプログラミング」という本を参考に始めました。 VisualStudio2010を用いて、SDKフォルダの「C\src\template\template_vc90」を開こうとすると変換を要求されます。変換をすると、いくつかは変換され、いくつかは変換されないようです。 ソリューションエクスプローラーには「template(利用不可)」とあります。 また、簡単なプログラムを書き、VisualStudioのコマンドプロンプトを利用し「nvcc *.cu」とすると、「nvcc fatal : nvcc cannot find a supported cl version. Only MSVC 8.0 and MSVC 9.0 are supported」と表示され、コンパイルできません。 作業フォルダは、Documents内に適当なフォルダを用意して、そこで行っています。 エラー内容には、MSVC8.0又は9.0で利用可とありますが、VisualStudio2010を入れた時に同時にProgramFile内に9.0と10.0ができたので、9.0も入っているのに何故コンパイルできないのかわかりません。 このように、コンパイルが出来ない状況にあります。 アドバイス等、よろしくおねがいします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

9.0に相当するのはVisualStudio2008です。 2010をインストールした時に「Microsoft Visual Studio 9.0」というフォルダが作成されても、互換性を保つためか何かの理由で必要なファイルだけを置いているはずなので、VisualStudio2008をインストールした状態と同じではありません。 なので、「9.0も入っているのに」というのは間違いです。

kanatas
質問者

お礼

回答ありがとうございます。 さっそくVisualStudio2008をインストールしてみました。 しかし、今度は「nvcc fatal : Visual Studio configuration file '(null)' could not be found for installation at 'C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN/../..'」と出てきました。 64bitOSがネックになっているのでしょうか。

kanatas
質問者

補足

CUDA関連のファイルを弄ることで、nvccが通るようになりました。

関連するQ&A

  • Visual C++ 2008でCUDAプログラミング

    こんにちは。Visual C++ 2008でCUDAプログラミング経験のある方に質問です。 OS:Vista 64bit CUDA:ver2.1 で、SDKの中にあるサンプルプログラムsimpleCUBLASをビルドしたところ、 1>------ ビルド開始: プロジェクト: simpleCUBLAS, 構成: Release Win32 ------ 1>リンクしています... 1>LINK : fatal error LNK1181: 入力ファイル 'cutil32.lib' を開けません。 とエラーが出ました。 実際、SDKのlibフォルダには、cutil64.libはありますが、32はありません。 また、デバッグ構成でビルドしますと、今度はculti32D.libが開けないといわれます。 GPUはGeForce 9800 GTと新しいですし、 Visual C++も2005ではなく2008ですので、 周りのソフトが追いついてないということなのでしょうか・・・ どなたか、詳しい方がいらっしゃいましたら、ご教授おねがいします。

  • Windows環境でのCUDAについて

    閲覧ありがとうございます。 現在、Windows7でCUDAプログラミングを勉強しようと思っています。 現在の環境は以下の通りです。 Windows7 Home 64bit CUDA toolkit 6.5 CUDA Visual Studio Integration 6.5 この環境でCUDAプログラムを書きnvccでコンパイルしようとすると nvcc fatal : Cannot find compiler 'cl.exe' in PATH と表示されます。 おそらく、Visual Studioをインストールしてないことが原因だと思います。 そこでVisual Studioをインストールしようと思うのですが、Visual Studioのバージョンは 何をインストールすればいいかわかりません。 またVisual Studioをインストールするだけでこの問題は解決するのでしょうか。 回答お待ちしております。 よろしくお願いいたします。

  • Visual Studio 2010 初歩的な質問

    Visual Studio 2010 の使い方を学習していますが、 基本的なことがよく分からないので教えてください。 1) Webサイトなどで  「Windows API の詳細については、プラットフォーム SDK の   Windows APIで、Win32 SDK に関する記述を参照してください」   というような説明をよく見かけるのですが、   ( http://msdn.microsoft.com/ja-jp/library/172wfck9(v=vs.100).aspx )   Win32 SDK に関する記述はどこにあるのでしょうか。 2) Webサイトなどで  「Windows API で使用される定数の詳細については、   プラットフォーム SDK に組み込まれている Windows.h などの   ヘッダー ファイルを参照してください。」   というような説明をよく見かけるのですが、   ( http://msdn.microsoft.com/ja-jp/library/172wfck9(v=vs.100).aspx )   C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include   フォルダの中にWindows.hファイルはありましたが、   Windows.hファイルの中身を見ても、   定数の説明などは見当たりませんが   どこに定数の詳細が書かれているのでしょうか。 初歩的な質問ですがよろしくお願いします。

  • 誰も解決策はわからないかもしれないけど疑問があります。

    誰も解決策はわからないかもしれないけど疑問があります。 visual studio 2008 express edtionを利用しています。その中でもc++をつかってGPGPU計算をやってみたいと思うようになり、グラフィックカードなどを買ってきて試しています。32bitOSのwindows vista sp2をつあっていますが、sample SDKに付属していたデモを試すとうまく動きません。 コンパイルする必要があると思って、プロジェクトファイルからvisual studio c++ express edtionを呼び出して、コンパイルさせました。いくつかのライブラリやインクルードファイルの場所指定をする必要があって、紆余屈折した挙句にコンパイルすることが出来そうになりました。 いざ、コンパイルを試みると…CUDAのソースがコンパイルできません。どうやら日本語名のユーザーホームディレクトリ以下にtempファイルを作成しようとして失敗しているようです。 日本語だからだめなのかとおもって、英語名のアカウントでやるとすんなりコンパイル出来ちゃいました。 さて、やっと質問です。日本語名だとvisual studio 2008とcudaライブラリーでのコンパイルには問題がでるのでしょうか?解決策はtempディレクトリを別のフォルダに指定することで回避できると思うのですが、皆さんはそうしているのでしょうか? 使用経験のある技術者の方からの返事をお待ちしています。 よろしくお願いいたします。

  • Vissual Studio 設定変更

    はじめまして。 現在、VisualStudio2005を使い、開発しています。 宜しければご回答の方をお願い致します。 おそらくデフォルトだと思いますが VCで新規にプロジェクトを作成しようとVCを起動すると C:\Documents and Settings\aaaa\My Documents\Visual Studio 2005 という環境設定が保存されているフォルダが作成されます。 これをC:\Visual Studio 2005に移動したいと思っています。 VCの ツール→設定のインポートとエクスポートにてディレクトリを指定して終了した後 C:\Documents and Settings\aaaa\My Documents\Visual Studio 2005 のフォルダを消して 再度、VCを起動するとまた C:\Documents and Settings\aaaa\My Documents\Visual Studio 2005 にフォルダが作成されてしまいます。 他に何か設定が必要だと思われるのですが、検索しても解が見つかりませんでした。 解決方法などはありますでしょうか。よろしくお願い致します。

  • ディレクトリツリービューを有するWin32SDKアプリケーション

    左にエクスプローラ風のフォルダツリービューのペインを有し、ファイルをクリックすると右ペインで表示編集などの処理をする、ごく一般的な2ペインアプリケーションをMSVC++6.0 Win32SDKで作成すべく、インターネットで検索しましたが、MFCやVBの例はあるもののWin32SDKのサンプルコードを見つけることが出来ませんでした。 コモンコントロールでエクスプローラ風のフォルダツリービューのコードを自作するとなると極端な労力を要します。 そこで"Win32SDKプログラム"のフォルダツリービューの適当なサンプルコードの所在をご存知でしたらよろしくお願いします。

  • Visual C++2005でMFC形式(?)のDLLを含んだSDKの利用について

    環境:Win2000 SP4 VS2005 pro SP1 現在大学で実験をするためのプログラムを作成しようとしています。 前任者が作った実験用プログラム(Win32API)があり、それに今年購入したハードウェアのSDKを導入することでプログラムの拡張を図っています。 (具体的には今までの測定に追加して動画解析を行おうとしてるのですが・・・) そこでそのSDKの説明書通りにインクルードフォルダを設定し、libファイルを設定しました。 それからソースに説明書通りにヘッダーをインクルードしました。 (このヘッダーファイルをインクルードすることによりSDKに含まれる3つのDLLがすべて読み込まれるらしいです) そこでとりあえずインクルードだけしてコンパイルしてみたところ SDKに含まれるヘッダーファイル中にCStringの構文エラーが出ました error C2061: 構文エラー : 識別子 'CString' 説明書によるとSDKに含まれるDLLのうち1つはwin32DLLで残り2つはMFC標準DLLというもののようです。 プロジェクトのプロパティから文字コードをマルチ、Unicodeとやってみましたがダメでした。 またMFCの利用設定もすべて試してみましたがダメでした。 今までVSをさわったことがなくC言語も少しかじったことがあるだけなので困り果てています。 回答よろしくお願いします。

  • MSILのような中間言語について

    調べたところ、http://www.atmarkit.co.jp/icd/root/63/57773363.html で、「マイクロソフトは、MSILを生成できるプログラム開発環境として、.NET Framework SDK(コマンドライン・ベースのプログラム開発環境を提供するソフトウェア・セット)やVisual Studio.NET(グラフィカル・インターフェイスを備えたプログラム開発環境)を開発し、いずれも2000年末から開発者向けのベータ版ダウンロード・サービスを開始した。」とあるのですが、同じC言語で作っていてもBorlandでコンパイルしたものと、VisualStudioのC++でコンパイルしたものでは実行のされ方が異なっているのでしょうか? また、こういったプログラムのコンパイルや実行に関して、OSはどの様に関わっているのでしょうか? よろしくお願いします。

  • 64ビットアプリケーションの配布

    WindowsXP+VisualStudio2008Proを使って MFCやWIN32SDKプログラムを作っています。 今まで64ビットのプラットフォームを意識しないで 32ビットプラットフォーム向けプログラムを作成してきたのですが、 今日、Visual Studioで64ビットOS向けのコンパイルができることを知りました。 そこで質問なのですが、34ビット版プログラムと64ビット版プログラム両方 作成した場合、インストーラなとでプラットフォームを判断して自動的に インストールする方法ってあるのですか? それとも、最近のWindowsの64ビットOSは32ビットアプリケーションも問題なく 動くようなので一般的なアプリは32ビットでコンパイルしとくのが安全なのですか? 皆さんはどうしてますか?詳しい方がいましたら教えて下さい。 勘違いしてたらご指摘下さい。どうぞ宜しくお願い致します。

  • Visual C++ Toolkitでcppをコンパイルすると・・

    最近質問が多くてすみません。 一応調べてみましたが、同じような質問が既存ならば警告お願いします。 #include <iostream> int main(){ return 0; } これだけのファイルを、例えばtest.cppとして保存します。そして cl test.cpp とすると、ぶわーっと警告(warning)がでて、しかしtest.exeができあがります。 警告内容がかなり長いので、そのうちの1つを載せます。 C:\Program Files\Microsoft Visual C++ Toolkit 2003\include\stdexcept(39) : see reference to class template instantiat ion 'std::basic_string<_Elem,_Traits,_Ax>' being compiled with [ _Elem=char, _Traits=std::char_traits<char>, _Ax=std::allocator<char> ] 意味がわかりません!! ちなみに、bccでは警告なしにコンパイルできます。

専門家に質問してみよう