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.
Примечания
-
(неопр.)
. Дата обращения: 24 ноября 2013.
2 декабря 2013 года.
-
↑
Андрей Воробьев, Алексей Берилло.
(неопр.)
.
iXBT.com
(23 сентября 2009). Дата обращения: 20 октября 2010.
26 сентября 2009 года.
-
Gus Class.
(англ.)
.
MSDN
(11 августа 2010). Дата обращения: 20 октября 2010.
3 июля 2012 года.
-
AMD.
(англ.)
. BmR (9 октября 2009). Дата обращения: 20 октября 2010.
3 июля 2012 года.
-
(англ.)
. Официальный сайт
nVidia
. Дата обращения: 20 октября 2010.
20 октября 2010 года.
-
Regeneration.
(англ.)
. NGOHQ (4 ноября 2009). Дата обращения: 20 октября 2010.
3 июля 2012 года.
-
напр., ComputeMark
Ссылки
-
Ian McNaughton.
(англ.)
. Официальный сайт
AMD
(9 сентября 2009). Дата обращения: 20 октября 2010.
28 февраля 2012 года.
-
Редакция THG.
(рус.)
Tom's Hardware
(24 апреля 2012). Дата обращения: 24 апреля 2012.