Визуальная точка останова графического процессора не достигается при использовании C ++ AMP

Я установил тип отладчика на GPU only и установить точку останова на каждой строке 8-строки parallel_for_each лямбда, включая линию parallel_for_each заявление, но оно никогда не получит удар. Я использую Visual Studio 2012 на Windows 8 Pro.

Какой шаг мне нужно сделать, чтобы точка останова заработала?

3

Решение

Ваше приложение явно предоставляет ускоритель / 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
4

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector