2016-04-27 8 views
-2

誰かがダブルシェブロンとは何を説明してください。 Kernel<<<32*SM, 256>>>(1 << 20, 2.0, x, y); ですか?クダ二重シェブロン、1 << 20?

+3

'cuda'タグと' gpgpu'タグを削除し、 'c'タグを追加することをお勧めします。問題は特に '' << '演算子に関することに注意してください。 –

+0

私は実際にそれを保つことがより良いと思う、tbでこの問題を思いついて、それが彼らがそれと思っているかどうかわからない人がいるだろうと思っている。彼らは簡単に何千ものスレッドを見つけることができます。私はあなたが私は私がそれを変えるべきだと思うなら、私の意見はちょうど私の意見だ –

答えて

0

ビットシフトです。 1が20回シフトした。クーダ特有のものはありません。

+0

笑それは何か他のものだと思った、それはすべて今感謝するよ –

3

トリプルシェブロンは、GPUによる実行のためにスケジューリングするカーネルを起動するための構文です。 CUDA Programming Guide(sec 3.2.2)の最初の例を参照してください。 ダブルシェブロンは、通常の左シフト演算子に過ぎません。CUDA関連ではなく、カーネル関数の引数です(つまり、引数は1048576または2^20)。

(三重シェブロンの使用は完全に恣意的です。その背後には哲学的正当性はありません - 私が知っていることは、とにかくです。何かCUDA特有)。

+0

yehは助けてくれてありがとう、私はちょうどだから私はちょうどここで尋ねなければならない、三重シェブロンはとても悪い考えだった。私は彼らがなぜそれを選んだのか分からない。 –

+0

@RockyZhang:以前の同僚は、特許を取得するためにそれをやったかもしれないと思っています。ところで、もしあなたが好きなら、本質的にそれを避けることができます。[こちら](https://bitbucket.org/eyalroz/kernel-tester/src/1dfc1880efb1a1e59e1d5929222f78cb7a4a9c1e/src/cuda/kernel_launch_wrapper.cuh?at=default&fileviewer=file- view-default)素晴らしいテンプレートラッパーです。 – einpoklum

+1

トリプルシェブロンの特許...?本当に?より一般的な説明は、規則的なC(およびC++)では無効でありながら、解析が容易なトークンが必要だったということです。 –

関連する問題