カテゴリを追加の最近のブログ記事

前回の失敗の要因

前回の失敗をT君と相談したところ,問題点はCUDAのダイナミックリンクライブラリ命名方法にあることがわかった.なんと,CUDAではdll名そのものにバージョン番号が含まれているのである(一般的にはフォルダ名にバージョン番号を入れると思うのだが・・).CWFLのビルド時には,CUDAのインポートライブラリを読み込む.この(バージョン番号を含んでいる)ライブラリ名が実行時に呼び出すdll名になる.つまり,CWFLのビルドに用いたCUDAと同じバージョンのCUDAでしかCWFLは実行できないことになる.今回インストールしようとしているのはCUDA 4.0でビルドしたCWFLなので,前回インストールしたCUDA 4.1では実行できないのである.

CWFLの配布という点からすると,これはかなりやっかいな問題である.CUDAのバージョンが変わる毎にCWFLを再ビルドして配布し,インストールしてもらう必要がある.いまのところ解決策は思いつかないので,とりあえず,CWFL配布時にはCUDAのバージョンを指定することにする.

第3日目

CUDA 4.1のアンインストール

今回はCuda4.0対応のビルド済みのCWFLを試すことにする.そのため,前回一度インストールしたCUDAのファイルをアンインストールした.CUDAはバージョンごとにインストールディレクトリが異なるので,特にアンインストールする必要はないと思われるが,念のためである.まず,CUDA Toolkit 4.1をアンインストール.次にGPU Computing SDK 4.1をアンインストールしようとしたところ,やや,「指定されたモジュールが見つかりません」というエラーが出るではないか! 一応,前回確かめておいたGPU Computing SDK 4.1のインストールポイントを調べたところ,そのまますべてのファイルが残っている.

CUDA 4.0のインストール

アンインストールのトラブルはとりあえず無視して,CUDA Toolkit Archiveに行き,4.0の関連ファイルをダウンロードした.前回と同じWindows 64bitで, 

  • CUDA Toolkit 4.0
  • GPU Computering SDK 4.0
  • Developer Drivers 4.0

である.Toolkitのインストールの種類も前回と同様「Complete」とした.

インストールポイントは,予想できる通り,4.1が4.0に代わっているだけである.つまり,

  • C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0
  • C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK 4.0

となっていた.SDK4.1のアンインストールができなかったので,PATHを調べると4.1へのPATHも残っていた.特に問題ないが,一応,手動で消しておくことにした.この段階で,C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK 4.0\C\bin\win64\Releaseに入っているビルド済みのCUDAサンプルプログラムからbandwidthTest.exeを試してみたところ,問題なく実行できた.

Visual Studioの設定

次にVisual Studioの「ツール>オプション>プロジェクトおよびソリューション>VC++ディレクトリ」のインクルードディレクトリの設定も変更する.前回の設定から4.1→4.0とするだけであり,具体的には下記のとおりにする.

  • C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include
  • C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK 4.0\CUDALibraries\common\inc

CWFLを用いたサンプルソースのコンパイルテスト

sample.bmpCWFLを用いる適当なサンプルソースをT君の研究フォルダから拾い,コンパイルを試してみた.問題なく,ビルドができる.ここまでは,前回もたどりついたところである.さらに実行を試みる.

OKである! 円形開口の回折像を計算するサンプルソースであったが,右図のとおり,問題なく計算できている.

(注) 用いたサンプルソースでは4倍拡張を行っていないため,若干だが,円状畳み込みによるエイリアシングが発生している.WFLでも4倍拡張を行わないと同じ結果になる.

このアーカイブについて

このページには、過去に書かれたブログ記事のうちカテゴリを追加カテゴリに属しているものが含まれています。

次のカテゴリはサイトです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。