ダブルフリーまたは破損(アウト)-C ++

Avinash Goen

CUDAで最小、最大、合計、平均を使用して並列削減を実装しようとしています。

これは、現時点での私のメインコードスニペットです。

int main()
{
    const auto count = 8;
    const int size = count * sizeof(int);
    int h[] = {13, 27, 15, 14, 33, 2, 24, 6};

    int* d;
    int choice = 0;
    do{
        cout <<"\n ---MENU--- \n";
        cout <<"1. Find Sum of Numbers in Array\n";
        cout <<"2. Find Max of Array\n";
        cout <<"3. Find Min of Array\n";
        cout <<"4. Find Average of Array\n";
        cout <<"5. Exit\n";
        cout <<"Enter your Choice : ";
        cin >> choice;
        switch(choice){
            case 1:
                cudaMalloc(&d, size);
                cudaMemcpy(d, h, size, cudaMemcpyHostToDevice);

                sum <<<1, count / 2 >>>(d);

                int result;
                cudaMemcpy(&result, d, sizeof(int), cudaMemcpyDeviceToHost);

                cout << "Sum is " << result << endl;

                getchar();

                cudaFree(d);
                delete[] h;
                break;
            case 5:
                break;
            default:
                cout<<"Wrong Input!! Try Again!";
                break;
        }
    }while(choice != 5);
return 0;
}

これはSUM用の私のCUDAカーネルです:

__global__ void sum(int* input)
{
    const int tid = threadIdx.x;
    auto step_size = 1;
    int number_of_threads = blockDim.x;

    while (number_of_threads > 0)
    {
        if (tid < number_of_threads) // still alive?
        {
            const auto fst = tid * step_size * 2;
            const auto snd = fst + step_size;
            input[fst] += input[snd];
        }

        step_size <<= 1; 
        number_of_threads >>= 1;
    }
}

プログラムを実行すると、これがOUTPUTとして取得されます。

ここに画像の説明を入力してください

この問題を解決するにはどうすればよいですか?私を助けてください。

ヴィットリオロメオ

コンパイラの警告を無視しないでください。delete[]動的に割り当てられていない配列を呼び出しています。これは未定義の動作であり、コアダンプの原因である可能性があります。

delete[]スタック上の配列を呼び出す必要はありません

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

cでダブルフリーまたは破損(アウト)中止(コアダンプ)を克服する方法

分類Dev

C-ダブルフリーまたは破損

分類Dev

ダブルフリーまたは破損:C ++

分類Dev

ダブルフリーまたは破損C ++

分類Dev

ダブルフリーまたは破損(ファストトップ)エラーc / c ++ linux

分類Dev

Cのダブルフリーまたは破損3D配列

分類Dev

C#:ftpアップロードは成功しましたが、ダウンロードしたファイルが破損しています

分類Dev

Cは、whileループ内の配列で検索番号を取得できず、「ダブルフリーまたは破損」エラーが発生します

分類Dev

C ++ダブルフリーまたは破損エラー1回だけフリーしていると思われる場合

分類Dev

pthreads「ダブルフリーまたは破損(アウト)」エラー

分類Dev

ファイルを読み取り、文字を変換するCのプログラムは、ダブルフリーまたは破損エラーを生成します

分類Dev

C ++ウィンドウがブレークポイントをトリガーしました-ヒープの破損

分類Dev

httpwebrequestとcookiesでダウンロードされたc#ファイルが破損する

分類Dev

アスタリスク:ダブルフリーまたは破損(ファストトップ)

分類Dev

ダブルフリーまたは破損(ファストトップ)

分類Dev

エラーphp職人パスポート:ダブルフリーまたは破損(アウト)をインストール

分類Dev

ダブルフリーまたは破損エラー

分類Dev

Glibcエラー:ダブルフリーまたは破損

分類Dev

Javaダブルフリーまたは破損

分類Dev

Qtダブルフリーまたは破損

分類Dev

cythonダブルフリーまたは破損

分類Dev

C#FtpWebRequestは破損したファイルを作成します

分類Dev

Cソケットファイル転送の破損したデータ

分類Dev

C ++は、allocator <string>の要素を破棄するときにダブルフリーになりますか?

分類Dev

ダブルフリーまたは破損(ファストトップ)エラーを把握できません

分類Dev

VS 2015:C#NuGetパッケージの復元に失敗しました。ファイルまたはディレクトリが破損していて読み取り不能

分類Dev

エラー:ダブルフリーまたは破損(ファストトップ)

分類Dev

この関数内の「ダブルフリーまたは破損」エラー?

分類Dev

データ構造のダブルフリーまたは破損

Related 関連記事

  1. 1

    cでダブルフリーまたは破損(アウト)中止(コアダンプ)を克服する方法

  2. 2

    C-ダブルフリーまたは破損

  3. 3

    ダブルフリーまたは破損:C ++

  4. 4

    ダブルフリーまたは破損C ++

  5. 5

    ダブルフリーまたは破損(ファストトップ)エラーc / c ++ linux

  6. 6

    Cのダブルフリーまたは破損3D配列

  7. 7

    C#:ftpアップロードは成功しましたが、ダウンロードしたファイルが破損しています

  8. 8

    Cは、whileループ内の配列で検索番号を取得できず、「ダブルフリーまたは破損」エラーが発生します

  9. 9

    C ++ダブルフリーまたは破損エラー1回だけフリーしていると思われる場合

  10. 10

    pthreads「ダブルフリーまたは破損(アウト)」エラー

  11. 11

    ファイルを読み取り、文字を変換するCのプログラムは、ダブルフリーまたは破損エラーを生成します

  12. 12

    C ++ウィンドウがブレークポイントをトリガーしました-ヒープの破損

  13. 13

    httpwebrequestとcookiesでダウンロードされたc#ファイルが破損する

  14. 14

    アスタリスク:ダブルフリーまたは破損(ファストトップ)

  15. 15

    ダブルフリーまたは破損(ファストトップ)

  16. 16

    エラーphp職人パスポート:ダブルフリーまたは破損(アウト)をインストール

  17. 17

    ダブルフリーまたは破損エラー

  18. 18

    Glibcエラー:ダブルフリーまたは破損

  19. 19

    Javaダブルフリーまたは破損

  20. 20

    Qtダブルフリーまたは破損

  21. 21

    cythonダブルフリーまたは破損

  22. 22

    C#FtpWebRequestは破損したファイルを作成します

  23. 23

    Cソケットファイル転送の破損したデータ

  24. 24

    C ++は、allocator <string>の要素を破棄するときにダブルフリーになりますか?

  25. 25

    ダブルフリーまたは破損(ファストトップ)エラーを把握できません

  26. 26

    VS 2015:C#NuGetパッケージの復元に失敗しました。ファイルまたはディレクトリが破損していて読み取り不能

  27. 27

    エラー:ダブルフリーまたは破損(ファストトップ)

  28. 28

    この関数内の「ダブルフリーまたは破損」エラー?

  29. 29

    データ構造のダブルフリーまたは破損

ホットタグ

アーカイブ