カーネルRECALLのCUDA QuickSort

私は(クイックソート)を使用して並べ替えの問題を解決する必要があるので、私の問題は、私は多くのエラーが私に表示されるコードを実行しようとするときですが、大きなエラーは、カーネルクイックソートを呼び出すとき、どのように私はこの問題を、私のコードの下で解決することができますので、誰も私を助けることができます。

注:CUDAのプログラミングでは新しいことがあります。

__global__ void QuickSort(int p, int r,char *c)
{
    if (p < r)

    {   int q = Partition(p, r, c);
                QuickSort<<<5,5>>>(p, q-1,c); 
                QuickSort<<<5,5>>>(q+1, r,c);   

    }
}
0
nl ru de
CUDAプログラミングを初めてお使いの方は、並列ソートより簡単なものから始めましょう。あなたが書いたことはうまくいかず、全く意味をなさないでしょう。
追加された 著者 talonmies,
どのGPUを使用していますか?あなたがしようとしていることは、Compute Capability 3.5(現在はNVIDIA Tesla K20とK20xのみ)のデバイスでのみ利用可能な動的並列処理(カーネル内のカーネル呼び出し)です。
追加された 著者 sgarizvi,
私のnvidiaカードはGEFORCE(GT 650M * 2GB)です。どのようにしてこのデバイスのクイックソートをクーダで解決できますか?あなたのリプレイに感謝します。
追加された 著者 Suno87,

1 答え

あなたのGPUカード(コンピューティング能力3.0)は、計算能力3.5以上を必要とするダイナミックパラレル化をサポートしていません。動的並列性は、GPUにおいて新たに割り当てられたリソースを用いて再帰的方法をサポートすることである。 cudaの実装とダイナミックパラレル主義の情報を含むクイックソートアルゴリズムがここに表示されます http://blogs.nvidia.com/2012/09/how-tesla-k20-speeds-up-quicksort-a-familiar-comp-sci-code/ a>。

しかし、あなたのGPUでは、Quicksortを実装するために別の方法を採用することをお勧めします。上のリンクの実装は、ピークパフォーマンスでアルゴリズムを表示するのではなく、動的並列処理のメリットを示すことです。あなたのカードでより良いパフォーマンスを得るには、このペーパー「グラフィックプロセッサのための実用的なクイックソートアルゴリズム」を参照してください。

1
追加された