Я установил тип отладчика на GPU only
и установить точку останова на каждой строке 8-строки parallel_for_each
лямбда, включая линию parallel_for_each
заявление, но оно никогда не получит удар. Я использую Visual Studio 2012 на Windows 8 Pro.
Какой шаг мне нужно сделать, чтобы точка останова заработала?
Ваше приложение явно предоставляет ускоритель / accelerator_view для parallel_for_each? Если это так, вы должны убедиться, что при отладке вы используете ускоритель REF, если только ваш драйвер GPU не поддерживает отладку.
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
Других решений пока нет …