3

デバッガーの種類をGPU onlyに設定し、line ステートメントを含む 8 行のparallel_for_eachラムダのすべての行にブレークポイントを設定しましたparallel_for_eachが、ヒットすることはありません。Windows 8 Pro で Visual Studio 2012 を使用しています。

ブレークポイントを機能させるには、どのような手順を実行する必要がありますか?

4

1 に答える 1

4

アプリケーションは、parallel_for_each のアクセラレータ/accelerator_view を明示的に提供していますか? その場合、GPU ドライバーがデバッグをサポートしていない限り、デバッグ時に REF アクセラレーターを使用する必要があります。

    accelerator defaultAcc (accelerator::default_accelerator);
    accelerator_view defaultView = defaultAcc.default_view;

#ifndef _DEBUG
    std::vector<accelerator> allAccelerators = accelerator::get_all();
    allAccelerators.erase(std::remove_if(allAccelerators.begin(), allAccelerators.end(), 
        [](const accelerator& acc){ return (acc.is_emulated) || 
                            (acc.device_path == accelerator::cpu_accelerator);} ),
                 allAccelerators.end());

    if (allAccelerators.size() > 0)
        defaultView = allAccelerators[0].default_view;
#endif
于 2012-09-04T19:06:53.877 に答える