カテゴリー

技術 – ページ 14

nvccでアーキテクチャの設定は出来るだけ下げた方が速い?

自分とこのGTX 460(Ubuntu)でしか確認してないので全然確信は持てないんだけど、カーネルのコンパイルを

続きを読む

tex1D と tex1Dfetch の使い分け

私が思うCUDAの微妙な点の一つとして、tex1D と tex1Dfetchという2つのテクセルフェッチ関数の存在がある。

続きを読む

CUDAでatomicAddを減らして高速化

この記事には誤りがあります。それについて最後のほうに追記があります。

続きを読む

CUDAにおけるテクスチャリファレンスとテクスチャオブジェクトの違い

どちらもGPUのテクスチャフェッチ機能を利用してデータにアクセスするためのもので、概念的には同じものと言える。
しかし詳細に踏み込むとかなり違いがある。
(以下はDriver APIの利用を想定したものだけど、Runtime APIでも大部分はそのまま当てはまると思う。)

続きを読む

CUDAにおける線形メモリ(linear memory)とArray(CUarray)の違い

この記事は普段にも増して思い込みで書いてる度合いが高めなので注意が必要です。間違いがあれば指摘していただけるとありがたいです。

続きを読む

CUDA Driver APIのC++ラッパーを作った

OpenCLのC++ラッパーであるcl.cppの便利さに感銘を受けたので、CUDA Driver API向けにC++ラッパーを作った。

続きを読む

clCreateImageがCL_INVALID_VALUEを返す問題の回避方法

Mac(OSX 10.8.3、GPU Geforce 9400M)のclCreateImageがおかしいという記事を書いたが、さすがにclCreateImage程度の基本的な関数がまともに動かないってのはおかしいと思ったので少し詳しく調べてたら回避方法みたいなものが分かった。

続きを読む

XcodeでOpenCL APIのC++ Wrapperを使ってみる

前回ホストコードをC++で書いたが、CのAPIを使っていたためC++らしさはあまり表現出来ていなかった。
あれから、OpenCL APIのC++ Wrapper(OpenCL C++ Bindings)というものの存在を知ったので、それを使って前回のホストコードをさらにC++っぽく書き換えてみた。
ソース(ホストコードのみ)はこの記事の最後に載せてある。

続きを読む

いまXcodeでOpenCLをはじめる多分いちばん簡単かもしれない方法

以前書いたCUDAの記事のOpenCL版。
こちらも、いちばん簡単なんてタイトル付けてるけど実は他のやり方をあまり調べてないというか、OpenCLはじめて数時間の初心者なので、もっといい方法があれば教えてください。

続きを読む