CUDA+GPGPU、C++、C#などのプログラムについての備忘録がわり
Posted by サンマヤ - 2008.12.06,Sat
さて、当初Ubuntuを使おうとして加減が分からず
とりあえずUbuntuに慣れようとしていろいろやってきましたが、
ついにInspiron1720にUbuntu8.10 amd64をインストールしました。
まあ、インストールとアップデートまでは普通です。
で、CUDA2.0をインストールしようとしたのですが、
CUDAはUbuntuの7系までしか対応してないという状況で
なんとかならないかと休日を利用していろいろ試そうと思ったわけです。。。
とりあえずUbuntuに慣れようとしていろいろやってきましたが、
ついにInspiron1720にUbuntu8.10 amd64をインストールしました。
まあ、インストールとアップデートまでは普通です。
で、CUDA2.0をインストールしようとしたのですが、
CUDAはUbuntuの7系までしか対応してないという状況で
なんとかならないかと休日を利用していろいろ試そうと思ったわけです。。。
ところが、日本語のページでCUDA2.0のUbuntu7.10用をダウンロードしようとすると、
ToolkitもSDKもおなじSDKファイルをダウンロードするようになっていました。
これは明らかに違うだろう、と思ってUSAサイトへ行くと、
CUDA2.1ベータしかもUbuntu8.04対応
なんてものがあるではないですか。
こっちの方がいいだろうと思って、こちらをダウンロードしてきました。
何度もいいますが、日本語サイトはいい加減すぎます。。。
訳も機械翻訳はやめてほしい。
で、Driver、Toolkit、SDKの3種の神器をゲット。
0)事前準備
まずは開発環境から。
gccとg++はバージョン4.1でないとだめです。
最初は4.3あたりが入ってると思うので、gccとg++のダミーパッケージ含めて消します。
その後、4.1をいれます。これだけだと使えないので、
後々CUDAの設定を変えてもいいのですが、CUDA専用環境ということで、
sudo ln -s /usr/bin/gcc-4.1 /usr/bin/gcc
sudo ln -s /usr/bin/g++-4.1 /usr/bin/g++
とやっておけばよいでしょう。
それとSynapticから
libglut3-dev
をインストールします。
ほかにも必要なものがあるかも知れません。
1)ドライバの導入
まずはドライバから。
システム管理>サービスの管理で「グラフィカルなログインマネージャ」を切る。
この時点でコンソールになるので、
sudo sh NVIDIA-Linux-x86_64-xxx.xx-pkg2.run
(xxx.xxはバージョン番号)とうつ。
カーネルの番号が合わないのでビルドします、とか言われますが、全部イエスで。
ここでXを再起動。
GNOMEならgdm、KDEならkdmと打ち込みます。
2)Toolkitの導入
つぎは普通にGUIの端末からOKで、
sudo sh cuda-linux-rel-xxx.run
でインストール。
ここはこれでおしまいです。
3)SDKの導入
SDKも同様ですが、ここはsudoをつけてはいけません
(やってしまいましたw)
sh cuda-sdk-linux-xxx.run
で、展開は終わります。
4)SDKをコンパイルしよう
ここで
make
で終わるならいいのですが、ベータ版だからか、終わりませんw
途中、
gnu/stubs-32.h : not such file or directory
とか出ます。。。
これは64ビットだからで、
sudo ln -s /usr/include/gnu/stubs-64.h /usr/include/gnu/stubs-32.h
とすればコンパイルは通ります。
正しいのかどうか不安ですが・・・
いくつか警告が出てきますが、メイクは通ります。
それと、ReleaseNoteにあるとおり環境変数を変えないと
実行時に怒られます。
ReleaseNoteでは~/.bash_profileを変えろと書いてありますが、
Ubuntuでは~/.profileを書き換えます。
(.bash_profileを作ると.bash_rcなどが無効になることがあります)
ここではデフォルトでインストールしたと仮定しますが、
PATH=$PATH:/usr/local/cuda/bin
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib
export $PATH
export $LD_LIBRARY_PATH
を書き加えます。
これでSDKのサンプルプログラムを実行することができます。
./bandwidthTestの結果です。
Running on......
device 0:GeForce 8600M GT
Quick Mode
Host to Device Bandwidth for Pageable memory
.
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 1106.2
Quick Mode
Device to Host Bandwidth for Pageable memory
.
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 430.3
Quick Mode
Device to Device Bandwidth
.
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 8563.7
&&&& Test PASSED
Press ENTER to exit...
久しぶりにCUDAネタが書けた・・・
ToolkitもSDKもおなじSDKファイルをダウンロードするようになっていました。
これは明らかに違うだろう、と思ってUSAサイトへ行くと、
CUDA2.1ベータしかもUbuntu8.04対応
なんてものがあるではないですか。
こっちの方がいいだろうと思って、こちらをダウンロードしてきました。
何度もいいますが、日本語サイトはいい加減すぎます。。。
訳も機械翻訳はやめてほしい。
で、Driver、Toolkit、SDKの3種の神器をゲット。
0)事前準備
まずは開発環境から。
gccとg++はバージョン4.1でないとだめです。
最初は4.3あたりが入ってると思うので、gccとg++のダミーパッケージ含めて消します。
その後、4.1をいれます。これだけだと使えないので、
後々CUDAの設定を変えてもいいのですが、CUDA専用環境ということで、
sudo ln -s /usr/bin/gcc-4.1 /usr/bin/gcc
sudo ln -s /usr/bin/g++-4.1 /usr/bin/g++
とやっておけばよいでしょう。
それとSynapticから
libglut3-dev
をインストールします。
ほかにも必要なものがあるかも知れません。
1)ドライバの導入
まずはドライバから。
システム管理>サービスの管理で「グラフィカルなログインマネージャ」を切る。
この時点でコンソールになるので、
sudo sh NVIDIA-Linux-x86_64-xxx.xx-pkg2.run
(xxx.xxはバージョン番号)とうつ。
カーネルの番号が合わないのでビルドします、とか言われますが、全部イエスで。
ここでXを再起動。
GNOMEならgdm、KDEならkdmと打ち込みます。
2)Toolkitの導入
つぎは普通にGUIの端末からOKで、
sudo sh cuda-linux-rel-xxx.run
でインストール。
ここはこれでおしまいです。
3)SDKの導入
SDKも同様ですが、ここはsudoをつけてはいけません
(やってしまいましたw)
sh cuda-sdk-linux-xxx.run
で、展開は終わります。
4)SDKをコンパイルしよう
ここで
make
で終わるならいいのですが、ベータ版だからか、終わりませんw
途中、
gnu/stubs-32.h : not such file or directory
とか出ます。。。
これは64ビットだからで、
sudo ln -s /usr/include/gnu/stubs-64.h /usr/include/gnu/stubs-32.h
とすればコンパイルは通ります。
正しいのかどうか不安ですが・・・
いくつか警告が出てきますが、メイクは通ります。
それと、ReleaseNoteにあるとおり環境変数を変えないと
実行時に怒られます。
ReleaseNoteでは~/.bash_profileを変えろと書いてありますが、
Ubuntuでは~/.profileを書き換えます。
(.bash_profileを作ると.bash_rcなどが無効になることがあります)
ここではデフォルトでインストールしたと仮定しますが、
PATH=$PATH:/usr/local/cuda/bin
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib
export $PATH
export $LD_LIBRARY_PATH
を書き加えます。
これでSDKのサンプルプログラムを実行することができます。
./bandwidthTestの結果です。
Running on......
device 0:GeForce 8600M GT
Quick Mode
Host to Device Bandwidth for Pageable memory
.
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 1106.2
Quick Mode
Device to Host Bandwidth for Pageable memory
.
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 430.3
Quick Mode
Device to Device Bandwidth
.
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 8563.7
&&&& Test PASSED
Press ENTER to exit...
久しぶりにCUDAネタが書けた・・・
PR
Comments
Post a Comment
カレンダー
リンク
カテゴリー
フリーエリア
最新コメント
[11/19 矢野 忠]
[02/25 山本義和]
[07/08 hirota]
[07/06 hirota]
[02/05 矢野 忠]
最新記事
(04/04)
(01/11)
(05/17)
(06/07)
(09/09)
最新トラックバック
プロフィール
ブログ内検索
最古記事
(07/15)
(07/15)
(07/16)
(07/16)
(07/16)
カウンター
忍者アナライズ
Template by mavericyard*
Powered by "Samurai Factory"
Powered by "Samurai Factory"