Доступ к графическому процессору в Windows Mobile - PullRequest
3 голосов
/ 23 июня 2011

Я создаю приложение для Windows Mobile 6.5, и мне было интересно, есть ли какой-нибудь способ аппаратного ускорения различных вычислений.Я хотел бы, чтобы графический процессор выполнял часть работы для приложения, вместо того чтобы полагаться на процессор для выполнения всего.

Я хотел бы использовать C #, но если это невозможно, то C ++ простохорошо.

Спасибо за любые рекомендации!

EDIT-

Примером типов вычислений, которые я хочу выгрузить в графический процессор, могут быть такие вещи, как вычисление местоположения-100 различных прямоугольников, чтобы они могли быть размещены на экране.Это простой пример, но в настоящее время я выполняю подобные вычисления в отдельном потоке, поэтому я подумал (поскольку это геометрические вычисления), что это будет основной кандидат на GPU.

1 Ответ

3 голосов
/ 28 июня 2011

Чтобы полностью ответить на ваш вопрос, мне потребуются дополнительные сведения о том, какие вычисления вы пытаетесь выполнить, но краткий ответ - нет, графические процессоры на устройствах Windows Mobile и SDK, предоставляемые Microsoft, не подходят для GPGPU (вычисления общего назначения.на графическом оборудовании).

GPGPU действительно стал практичным только тогда, когда графические процессоры начали предоставлять программируемые вершинные и пиксельные шейдеры с DirectX9 (и ограниченной поддержкой в ​​8).Графические процессоры, используемые с устройствами на базе Windows Mobile 6.5, намного больше похожи на графические процессоры DirectX8 и не имеют программируемых вершинных и пиксельных шейдеров: http://msdn.microsoft.com/en-us/library/aa920048.aspx

Даже на современных настольных видеокартах с библиотеками GPGPU, такими как CUDA, получениепроизводительность увеличивается, когда выгрузка вычислений в графический процессор не является тривиальной задачей.Расчеты по своей природе должны подходить для GPUS (т. Е. Иметь возможность выполнять массово параллельно, и достаточно вычислений, выполняемых на любой памяти, чтобы компенсировать затраты на ее передачу на GPU и обратно).

Это не означает, что этоОднако невозможно ускорить вычисления с помощью графического процессора на Windows Mobile 6.5.Существует небольшой набор проблем, которые можно сопоставить с конвейером с фиксированными функциями без шейдеров.Если вы можете выяснить, как решить вашу проблему, разогнав многоугольники и прочитав полученное изображение, вы можете использовать графический процессор для этого, но маловероятно, что необходимые вам вычисления будут подходящими или что это будетстоит усилий попытаться.

...