Interested Article - DirectCompute

DirectCompute интерфейс программирования приложений (API), который входит в состав DirectX (набора API от Microsoft), который предназначен для работы на IBM PC-совместимых компьютерах под управлением операционных систем семейства Microsoft Windows . DirectCompute предназначен для выполнения вычислений общего назначения на графических процессорах , являясь реализацией концепции GPGPU , наряду с программными интерфейсами CUDA , ATI Stream и OpenCL .

Изначально DirectCompute был опубликован в составе DirectX 11 , однако позже стал доступен и для DirectX 10 и DirectX 10.1.

Технологическое описание

DirectCompute, впервые появившись в составе DirectX 11 , стал одним из важнейших его нововведений, первой технологией в составе DirectX, предоставившей доступ к вычислениям общего назначения на графических процессорах ( англ. GPU ).

DirectCompute присутствует в трёх версиях:

  • DirectCompute 10 для GPU, которые поддерживают Direct3D 10;
  • DirectCompute 10.1 для GPU, которые поддерживают Direct3D 10.1;
  • DirectCompute 11 для GPU, которые поддерживают Direct3D 11.

Если версии DirectCompute 10 и DirectCompute 10.1 почти одинаковы по функциональным возможностям, то DirectCompute 11 предоставляет существенно больше функций :

  • 3D Thread Dispatch предоставляет возможность при помощи одного трёхмерного потока массива заменить несколько двумерных;
  • Максимальное количество потоков по сравнению с DirectCompute 10/10.1 увеличено на 33 %: с 768 до 1024;
  • Объём памяти, выделяемый на группу потоков, был увеличен с 16 Кб до 32 Кб;
  • Улучшен доступ к памяти: если для DirectCompute 10/10.1 возможность чтения и записи были возможны лишь в область памяти размером 256 Кб, то в DirectCompute 11 этот размер уменьшен до 32 Кб;
  • Появились т. н. атомарные операции , которые дали возможность каждому потоку использовать защищенные области памяти;
  • добавлены вычисления с двойной точностью;
  • добавлена Gather4 — выборка из графической памяти, скорость работы которой при определённых условиях может в четыре раза превышать скорость предыдущих выборок.

Использование и поддержка

Несмотря на нацеленность на неграфические вычисления общего назначения, DirectCompute может использоваться и в игровой графике. Так, он может использоваться при рендеринге теней, рендеринге полупрозрачных поверхностей без предварительной сортировки ( англ. order independent transparency ) и некоторых других областях. Также DirectCompute может использоваться для трассировки лучей , обработке и фильтрации цифровых изображений, просчёте алгоритмов игрового искусственного интеллекта и для других задач.

Особенный интерес DirectCompute вызывает при просчёте алгоритмов физических движков . С помощью DirectCompute можно обрабатывать механику твёрдых тел, физику тканей и гидрогазодинамику . Компания AMD активно работает с DirectCompute в рамках проекта Open Physics Initiative .

DirectCompute поддерживается всеми основными компаниями на рынке производства графических процессоров: AMD и nVidia .

  • На графических процессорах производства AMD, технология DirectCompute работает «поверх» AMD FireStream . AMD в сотрудничестве с и Эрвином Кумансом в рамках проекта Open Physics Initiative работает над переносом физических вычислений на GPU. Кроме этого, в сотрудничестве с компанией CyberLink AMD работает над «переносом» на DirectCompute алгоритмов кодирования и декодирования видеоданных, редактирования видео, распознавания лиц.

Существует специальный бенчмарк , тестирующий DirectCompute.

Примечания

  1. . Дата обращения: 24 ноября 2013. 2 декабря 2013 года.
  2. Андрей Воробьев, Алексей Берилло. . iXBT.com (23 сентября 2009). Дата обращения: 20 октября 2010. 26 сентября 2009 года.
  3. Gus Class. (англ.) . MSDN (11 августа 2010). Дата обращения: 20 октября 2010. 3 июля 2012 года.
  4. AMD. (англ.) . BmR (9 октября 2009). Дата обращения: 20 октября 2010. 3 июля 2012 года.
  5. (англ.) . Официальный сайт nVidia . Дата обращения: 20 октября 2010. 20 октября 2010 года.
  6. Regeneration. (англ.) . NGOHQ (4 ноября 2009). Дата обращения: 20 октября 2010. 3 июля 2012 года.
  7. напр., ComputeMark

Ссылки

  • Ian McNaughton. (англ.) . Официальный сайт AMD (9 сентября 2009). Дата обращения: 20 октября 2010. 28 февраля 2012 года.
  • Редакция THG. Tom's Hardware (24 апреля 2012). Дата обращения: 24 апреля 2012.
Источник —

Same as DirectCompute