C++ AMP с быстрыми графическими процессорами медленнее ЦП

Я только начинаю изучать C++ AMP, и у меня есть несколько примеров, которые я создал с помощью VS 2012 RC, но я обнаружил, что производительность графического процессора ниже, чем у процессора. Например, примеры Кейт Грегори:http://ampbook.codeplex.com/releases/view/90595(имеет отношение к ее будущей книгеhttp://www.gregcons.com/cppamp/). Они были продемонстрированы ею на лекции, которую я смотрел, где она добилась ~5-кратного повышения производительности для примера из главы 4 с помощью графического процессора своего ноутбука (Кажется, она сказала, что это 6650 )по сравнению с процессором (не знаю, какой у нее процессор ). Я пробовал протестировать пример сам и на нескольких системных конфигурациях (, как показано ниже ). Я всегда обнаруживал, что ЦП работает быстрее. Я также проверил другие примеры и нашел то же самое. Я делаю что-то неправильно? Есть ли причина более медленной, чем ожидалось, производительности? У кого-нибудь есть пример, который определенно показывает, что GPU работает быстрее?

  • Система 1 :Intel i7 2600K со встроенной графикой (Ожидается, что это будет медленнее)
  • Система 2 :Intel i7 2630QM с Intel HD, переключаемая с AMD 6770 (У меня он работает в режиме производительности, поэтому он должен использовать 6770)
  • Система 3 :Intel i5 750 с 2xCrossfire AMD HD 5850

Пример результатов :результаты проекта главы 4: 1,15 мс ЦП, 2,57 мс ГП, 2,55 мс ГП с тайлированием.

Изменить:

Дох, я думаю, что только что нашел причину, по которой -значения размера матриц, которые она использовала в лекции, были другими. В образце на веб-сайте используется M=N=W=64. Если я использую 64, 512 и 256, как она делала в лекции, то я получаю соответствующее ~5-кратное увеличение производительности.

9
задан CarbonTwelve 6 August 2012 в 21:23
поделиться