加治/日誌/2012-10-01
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*研究 [#cf8fa2df]
**現状 [#v956e5f9]
-型の食い違いによるコンパイルエラーを直し中
--うまくいかないところは小さなプログラムで試行
**行ったこと [#l916bfcf]
-initBuffer()内のresbuf, pick, pickbuf初期化処理をCUDAした
--__global__ resbufInit()
--__global__ pickupInit()
-backTraceCalc()をCUDA化した
-(NEW)backTrace()をCUDA化した
-最小値関数の実装
***詰み [#s2f23415]
-現在の方針だと、
+戻り値による判定を行うためにbackTraceを__device__ intにし、バックトレース処理全体をCUDA化した(__global__ではvoid型しか扱えないため)
+しかしbackTrace()内のバックトレース処理の後の実際の判定箇所はデータの吐き出しなどがあるためホスト側でやらなくてはならないと判断
+そうするとバックトレース処理全体をCUDA化した意味がなくなる、かと言ってGPU処理はできない
⇓
-そこで方針を変更し、backTrace関数全体をCUDA化するのではなく実際のバックトレースの部分のみCUDA化し、戻り値の判定をホストでやるようにする
**note [#w444321a]
-%%cubackTrace(int x, int y, int extnum, int dm, int rh, int rw, int shrdn, float* accm, PICK* pickup)%%
-__global__ void backTrace(int x, int y, int dm, int rh, int rw, int shrdn, float* accm, PICK* pickup)
--実際のバックトレース処理を行う部分をGPUで
-__device__ void backTraceCalc(int a1, int a2, int a3, int m, int n, int rh, int rw, int shrdn, float* accm, PICK* pickup)
--backTrace()からコールされる実際の計算部分。この部分にreturn文は含まれない。
-int backTrace2(void)
--backTrace()で処理した結果をホストに戻し、それからホスト側でこの関数を実行
---バックトレース後のデータ吐き出しなど
終了行:
*研究 [#cf8fa2df]
**現状 [#v956e5f9]
-型の食い違いによるコンパイルエラーを直し中
--うまくいかないところは小さなプログラムで試行
**行ったこと [#l916bfcf]
-initBuffer()内のresbuf, pick, pickbuf初期化処理をCUDAした
--__global__ resbufInit()
--__global__ pickupInit()
-backTraceCalc()をCUDA化した
-(NEW)backTrace()をCUDA化した
-最小値関数の実装
***詰み [#s2f23415]
-現在の方針だと、
+戻り値による判定を行うためにbackTraceを__device__ intにし、バックトレース処理全体をCUDA化した(__global__ではvoid型しか扱えないため)
+しかしbackTrace()内のバックトレース処理の後の実際の判定箇所はデータの吐き出しなどがあるためホスト側でやらなくてはならないと判断
+そうするとバックトレース処理全体をCUDA化した意味がなくなる、かと言ってGPU処理はできない
⇓
-そこで方針を変更し、backTrace関数全体をCUDA化するのではなく実際のバックトレースの部分のみCUDA化し、戻り値の判定をホストでやるようにする
**note [#w444321a]
-%%cubackTrace(int x, int y, int extnum, int dm, int rh, int rw, int shrdn, float* accm, PICK* pickup)%%
-__global__ void backTrace(int x, int y, int dm, int rh, int rw, int shrdn, float* accm, PICK* pickup)
--実際のバックトレース処理を行う部分をGPUで
-__device__ void backTraceCalc(int a1, int a2, int a3, int m, int n, int rh, int rw, int shrdn, float* accm, PICK* pickup)
--backTrace()からコールされる実際の計算部分。この部分にreturn文は含まれない。
-int backTrace2(void)
--backTrace()で処理した結果をホストに戻し、それからホスト側でこの関数を実行
---バックトレース後のデータ吐き出しなど
ページ名: