5

私はグーグルで検索してきましたが、ここからリンクされている Tech Briefs の 1 つで、Compute Capability 3.0 の新しい動的並列処理の些細な例しか見つけることができませんでした。HPC 固有のカードは、おそらく来年の今頃 (国立研究所が入手した後) まで入手できないことは承知しています。そして、はい、彼らが示した単純な例はあなたを理解させるのに十分であることを理解していますが、より楽しい.

私が見逃した他の例はありますか?

手間を省くために、技術概要に記載されている例全体を次に示します。

__global__ ChildKernel(void* data){
    //Operate on data
}
__global__ ParentKernel(void *data){
    ChildKernel<<<16, 1>>>(data);
}
// In Host Code
ParentKernel<<<256, 64>>(data);

// Recursion is also supported
__global__ RecursiveKernel(void* data){
    if(continueRecursion == true)
        RecursiveKernel<<<64, 16>>>(data);
}

編集: GTC トークCUDA プログラミング モデルの新機能は、主に CUDA 5 の新しい動的並列処理に焦点を当てています。リンクにはビデオとスライドがあります。まだおもちゃの例にすぎませんが、上記の技術概要よりもはるかに詳細です。

4

5 に答える 5

6

必要なものは、動的並列処理プログラミング ガイドです。詳細と例が満載: http://docs.nvidia.com/cuda/pdf/CUDA_Dynamic_Parallelism_Programming_Guide.pdf

于 2012-11-02T04:05:50.510 に答える
5

動的並列処理は、計算能力が 3.5 以上の GPU でのみサポートされていることを確認してください。

cuda 5.0 がインストールされた 3.0 GPU があります 動的並列処理の例をコンパイルしました nvcc -arch=sm_30 test.cu

以下のコンパイルエラーを受け取りました。

GPU 情報

デバイス 0:「GeForce GT 640」CUDA ドライバー バージョン / ランタイム バージョン 5.0 / 5.0 CUDA 機能 メジャー/マイナー バージョン番号: 3.0

お役に立てれば

于 2012-12-02T12:11:02.057 に答える
4

動的並列処理は CUDA 4 ではなく CUDA 5 で新しく導入されたため、質問のタイトルを「...CUDA 5...」に編集しました。パブリック ハードウェアを利用できないため、公開されている例はまだありません。それらを実行できます。CUDA 5.0 は動的並列処理をサポートしますが、Compute Capability 3.5 以降 (GK110 など) でのみサポートされます。これらは年内に利用可能になる予定です。

ハードウェアが利用可能になる頃に、CUDA 5 リリース候補を使用していくつかの例をリリースします。

于 2012-06-03T23:36:10.723 に答える
0

コンピューティング機能3.0には動的並列処理は含まれていないと思います。これはGK110アーキテクチャ(別名「ビッグケプラー」)に含まれますが、どのコンピューティング機能番号が割り当てられるかわかりません(3.1?多分)。それらのカードは今年の終わりまで利用できません(私はそれらをとても待っています)。私の知る限り、3.0はラップトップ用のGTX690やGT640MのようなGK104チップに対応しています。

于 2012-06-02T14:04:10.413 に答える
0

CUDA 5 RC が最近リリースされたので、皆さんに確認したいと思います。SDK の例を調べたところ、動的な並列処理が見つかりませんでした。私が間違っている場合は、誰かが私を修正してください。「<<<」を grep してカーネル内のカーネル起動を検索しましたが、何も見つかりませんでした。

于 2012-10-10T23:32:30.747 に答える