Конвейер вычисленийCompute pipeline

[Некоторые сведения относятся к предварительно выпущенному продукту, который может быть значительно изменен перед коммерческой выпуском.[Some information relates to pre-released product which may be substantially modified before it's commercially released. Корпорация Майкрософт не дает никаких гарантий, явных или подразумеваемых, относительно предоставленной здесь информации.]Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Конвейер вычислений Direct3D предназначен для обработки вычислений, которые в большинстве случаев можно выполнять параллельно графическому конвейеру.The Direct3D compute pipeline is designed to handle calculations that can be done mostly in parallel with the graphics pipeline. В конвейере вычислений всего несколько шагов: данные перемещаются из точки входа в точку входа через этап программируемого шейдера вычислений.There are only a few steps in the compute pipeline, with data flowing from input to output through the programmable compute shader stage.

НазначениеPurpose

Как и другие программируемые шейдеры, этап шейдера вычислений (CS) предназначен для HLSL и реализован с помощью этого языка.Like other programmable shaders, Compute Shader (CS) stage is designed and implemented with HLSL. Шейдер вычислений позволяет выполнять высокоскоростные универсальные вычисления и использует большое количество параллельных процессоров в графическом процессоре.A compute shader provides high-speed general purpose computing and takes advantage of the large numbers of parallel processors on the graphics processing unit (GPU). Шейдер вычислений предоставляет функции совместного использования памяти и синхронизации потоков, чтобы обеспечить более эффективные методы параллельного программирования. |The compute shader provides memory sharing and thread synchronization features to allow more effective parallel programming methods.|

ВводInput

В отличие от других программируемых шейдеров определение ввода является абстрактным.Unlike other programmable shaders, the definition of input is abstract. Ввод может иметь одно, два или три измерения, что определяет количество вызовов шейдера вычислений для выполнения.The input can be one, two or three-dimensional in nature, determining the number of invocations of the compute shader to execute. Можно определить общие данные для чтения одного набора вызовов. |It is possible to define shared data for one set of invocations to read.|

Выходные данныеOutput

Выходные данные из шейдера вычислений, которые могут варьироваться достаточно сильно, можно синхронизировать с конвейером отрисовки графики, если требуются вычисленные данные.Output data from the compute shader, which can be highly varied, can be synchronized with the graphics rendering pipeline when the computed data is required.

Связанные темыRelated topics

Обзорное обучение Direct3D GraphicsDirect3D Graphics Learning Guide