<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ヤノラボ：やのしん研究所 &#187; OSX</title>
	<atom:link href="http://yanoshin.jp/t/osx/feed" rel="self" type="application/rss+xml" />
	<link>http://yanoshin.jp</link>
	<description>作ったものや、勉強したこと公開してます。</description>
	<lastBuildDate>Tue, 19 Apr 2011 12:47:52 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>CUDA開発環境を構築する~[Mac OSX編]</title>
		<link>http://yanoshin.jp/entry_154.html</link>
		<comments>http://yanoshin.jp/entry_154.html#comments</comments>
		<pubDate>Mon, 27 Sep 2010 14:11:01 +0000</pubDate>
		<dc:creator>yanoshin</dc:creator>
				<category><![CDATA[ソフトウェア技術]]></category>
		<category><![CDATA[CUDA]]></category>
		<category><![CDATA[GPU]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[OSX]]></category>

		<guid isPermaLink="false">http://yanoshin.jp/?p=154</guid>
		<description><![CDATA[GPUを利用した演算処理に興味を持ったので、NVIDIAのCUDAを勉強してみた。 CUDAとは要するに、CPUではなく、NVIDIA製のグラフィックボード（のほとんど）に搭載されているGPUチップとメモリ空間を利用して計算させるプログラムを開発・動作できる環境のことです。例えば行列計算を処理させる場合、CPUだとチクチク計算させて処理していたのを、GPUならば行列をまとめてドカッと剛腕で処理できる、そんなイメージ。（でいいのか？） ＊あくまで計算処理の種類によって処理速度が速くなるだけであって、CPUとGPUの計算速度自体を比べてGPUが圧倒という意味ではありませんので。 ひとまず、手元の環境でCUDAを使うために必要な作業メモを記録。今回の目標は「CUDA環境と必要なソフトウェアのインストール」と「SDKに含まれるサンプルをビルド＆動作させる」の二点。 動作環境としてはMac Mini（2009年春モデル）と、それに内蔵されているNVIDIA GeForce 9400Mです。 【準備】 NVIDIAのサイトから必要な、ドライバ、ツールキット、SDKを入手する。 http://www.nvidia.co.jp/object/cuda_get_jp.html (MacOSXの欄にある以下を取得。） Developer Drivers for MacOS CUDA Toolkit GPU Computing SDK code samples（SDK) 【インストール】 ＊必ずToolkit、Driver、SDKの順にインストールすること！（なぜか？） 最初、適当にDriverからインストールしていたのだけど、どうやら先に進むにつれておかしい。色々調べた挙句、以下の方のエントリーを参考にインストールしたところ、ひとまずOKの結果に。 参考サイト：Mac mini OSX 10.6 snow leopard に CUDA を入れようとして make で サンプル生成するのに苦労した http://d.hatena.ne.jp/masibonge/20091016/1255625869 【メモ】 ・ターミナル起動時に設定してくれるよう、〜/.bash_profile に以下を記述 #CUDA export PATH=/usr/local/cuda/bin:$PATH export DYLD_LIBRARY_PATH=/usr/local/cuda/lib export LD_LIBRARY_PATH=/usr/local/cuda/lib:$LD_LIBRARY_PATH export CPLUS_INCLUDE_PATH=&#8221;/Developer/GPU Computing/C/common/inc&#8221;:$CPLUS_INCLUDE_PATH export C_INCLUDE_PATH=&#8221;/Developer/GPU Computing/C/common/inc&#8221;:$C_INCLUDE_PATH [...]]]></description>
			<content:encoded><![CDATA[<p>GPUを利用した演算処理に興味を持ったので、NVIDIAのCUDAを勉強してみた。</p>
<p>CUDAとは要するに、CPUではなく、NVIDIA製のグラフィックボード（のほとんど）に搭載されているGPUチップとメモリ空間を利用して計算させるプログラムを開発・動作できる環境のことです。例えば行列計算を処理させる場合、CPUだとチクチク計算させて処理していたのを、GPUならば行列をまとめてドカッと剛腕で処理できる、そんなイメージ。（でいいのか？）<br />
＊あくまで計算処理の種類によって処理速度が速くなるだけであって、CPUとGPUの計算速度自体を比べてGPUが圧倒という意味ではありませんので。</p>
<p>ひとまず、手元の環境でCUDAを使うために必要な作業メモを記録。今回の目標は「CUDA環境と必要なソフトウェアのインストール」と「SDKに含まれるサンプルをビルド＆動作させる」の二点。 動作環境としてはMac Mini（2009年春モデル）と、それに内蔵されているNVIDIA GeForce 9400Mです。</p>
<p>【準備】<br />
NVIDIAのサイトから必要な、ドライバ、ツールキット、SDKを入手する。</p>
<p><a href="http://www.nvidia.co.jp/object/cuda_get_jp.html" rel="nofollow">http://www.nvidia.co.jp/object/cuda_get_jp.html</a></p>
<p>(MacOSXの欄にある以下を取得。）</p>
<ul>
<li>Developer Drivers for MacOS</li>
<li>CUDA Toolkit</li>
<li>GPU Computing SDK code samples（SDK)</li>
</ul>
<p>【インストール】<br />
＊必ずToolkit、Driver、SDKの順にインストールすること！（なぜか？）<br />
最初、適当にDriverからインストールしていたのだけど、どうやら先に進むにつれておかしい。色々調べた挙句、以下の方のエントリーを参考にインストールしたところ、ひとまずOKの結果に。<br />
参考サイト：<a href="http://d.hatena.ne.jp/masibonge/20091016/1255625869">Mac mini OSX 10.6 snow leopard に CUDA を入れようとして make で サンプル生成するのに苦労した</p>
<p><a href="http://d.hatena.ne.jp/masibonge/20091016/1255625869" rel="nofollow">http://d.hatena.ne.jp/masibonge/20091016/1255625869</a></a></p>
<p>【メモ】</p>
<p>・ターミナル起動時に設定してくれるよう、〜/.bash_profile に以下を記述</p>
<blockquote><p>#CUDA<br />
export PATH=/usr/local/cuda/bin:$PATH<br />
export DYLD_LIBRARY_PATH=/usr/local/cuda/lib<br />
export LD_LIBRARY_PATH=/usr/local/cuda/lib:$LD_LIBRARY_PATH<br />
export CPLUS_INCLUDE_PATH=&#8221;/Developer/GPU Computing/C/common/inc&#8221;:$CPLUS_INCLUDE_PATH<br />
export C_INCLUDE_PATH=&#8221;/Developer/GPU Computing/C/common/inc&#8221;:$C_INCLUDE_PATH<br />
export LIBRARY_PATH=&#8221;/Developer/GPU Computing/C/common/lib&#8221;:&#8221;/Developer/GPU Computing/C/lib&#8221;:/usr/local/cuda/lib:$LIBRARY_PATH</p></blockquote>
<p>＊上記のサイト（<a href="http://d.hatena.ne.jp/masibonge/20091016/1255625869">http://d.hatena.ne.jp/masibonge/20091016/1255625869</a>）で紹介されているスクリプトだと、自分の環境ではビルド時にエラーが止まらず、修正</p>
<p>・最初の動作チェック。nvccを起動してバージョンを確認。</p>
<blockquote><p>$ nvcc -V<br />
nvcc: NVIDIA (R) Cuda compiler driver<br />
Copyright (c) 2005-2010 NVIDIA Corporation<br />
Built on Thu_Jun_17_16:11:55_PDT_2010<br />
Cuda compilation tools, release 3.1, V0.2.1221<br />
macminibressonlan:~ yanoshin$</p></blockquote>
<p>・サンプルソースをビルドする<br />
$ cd /Developer/GPU\ Computing/C<br />
$ make</p>
<p>*libファイル(*.a)が問題でビルドが止まる問題が発生。ranlibを実行して、makeを再実行すると問題解消した。<br />
$ ranlib ./lib/*.a<br />
$ ranlib ../shared/lib/*.a</p>
<p>(ただし、particlesやsmokeParticlesはビルドエラーが発生してしまうため、C/error_srcフォルダを作成して移動した状態で、上記makeを実施）</p>
<p>・サンプルソースを実行してみる。<br />
oceanFFTを試しに実行してみた。<br />
$ cd /Developer/GPU Computing/C/bin/darwin/release<br />
$ ./oceanFFT</p>
<p><a title="CUDA FFT Ocean Simulation by Yanoshin, on Flickr" href="http://www.flickr.com/photos/yanoshin/5029624647/"><img src="http://farm5.static.flickr.com/4130/5029624647_a63d93babb.jpg" alt="CUDA FFT Ocean Simulation" width="472" height="500" /></a><br />
実際に動作させると、波をシミュレートした映像がユラユラ揺れているのが見えます。</p>]]></content:encoded>
			<wfw:commentRss>http://yanoshin.jp/entry_154.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

