MTLComputePipelineState
Наследование
Не применимый
Оператор импорта
Swift
import Metal
Objective C
@import Metal;
Доступность
Доступный в iOS 8.0 и позже.
MTLComputePipelineState
протокол определяет интерфейс для легкого объекта, используемого для кодирования ссылки на скомпилированный, вычисляют программу. A MTLComputePipelineState
объект полностью ориентирован на многопотоковое исполнение и может использоваться многими MTLComputeCommandEncoder
объекты, даже если они связаны с различными буферами команд.
Использовать a MTLComputeCommandEncoder
объект закодировать команды для вычислить задачи, укажите a MTLComputePipelineState
объект, объявляющий который функция вызвать. Поскольку создание, вычислить конвейерный объект состояния может быть дорогим, Вы обычно, создает эти конвейерные объекты состояния во время инициализации Вашего приложения и снова использует их всюду по его времени жизни. (Не используйте стандартное выделение и методы инициализации для создания a MTLComputePipelineState
объект.)
Синхронно создать a MTLComputePipelineState
возразите и скомпилируйте его состояние, вызовите любого newComputePipelineStateWithFunction:error:
или newComputePipelineStateWithFunction:options:reflection:error:
метод MTLDevice
и передача в a MTLFunction
.
Асинхронно создать a MTLComputePipelineState
возразите и скомпилируйте его состояние, вызовите любого newComputePipelineStateWithFunction:completionHandler:
или newComputePipelineStateWithFunction:options:completionHandler:
метод и передача в a MTLFunction
. Обработчик завершения является последней работой, выполняемой во время создания конвейерного объекта состояния.
newComputePipelineStateWithFunction:options:reflection:error:
и newComputePipelineStateWithFunction:options:completionHandler:
методы MTLDevice
получите отражательные данные в a MTLComputePipelineReflection
объект, показывающий подробные данные параметров вычислить функции. (В newComputePipelineStateWithFunction:options:completionHandler:
, отражательные данные возвращаются в обработчике завершения.) Не получают отражательные данные, если они не будут использоваться.
-
maxTotalThreadsPerThreadgroup
СвойствоНаибольшее число потоков, которые могут быть в одном threadgroup в a
dispatchThreadgroups:threadsPerThreadgroup:
вызвать. (требуемый) (только для чтения)Объявление
Swift
var maxTotalThreadsPerThreadgroup: Int { get }
Objective C
@property(readonly) NSUInteger maxTotalThreadsPerThreadgroup
Обсуждение
maxTotalThreadsPerThreadgroup
представляет максимальный допустимый продукт threads-per-threadgroup в каждой размерности, как указано Металлической реализацией.Оператор импорта
Objective C
@import Metal;
Swift
import Metal
Доступность
Доступный в iOS 8.0 и позже.
-
threadExecutionWidth
СвойствоЧисло потоков, которые, как планируют, выполнят ту же инструкцию в вычислить функции за один раз. (требуемый) (только для чтения)
Объявление
Swift
var threadExecutionWidth: Int { get }
Objective C
@property(readonly) NSUInteger threadExecutionWidth
Обсуждение
Для самого эффективного выполнения вычислить функции сделайте число потоков в threadgroup (который является продуктом threads-per-threadgroup в каждой размерности), кратное число
threadExecutionWidth
.Оператор импорта
Objective C
@import Metal;
Swift
import Metal
Доступность
Доступный в iOS 8.0 и позже.
-
device
СвойствоУстройство, из которого это вычисляет состояние, создавалось. (требуемый) (только для чтения)
Объявление
Swift
var device: MTLDevice { get }
Objective C
@property(readonly) id< MTLDevice > device
Обсуждение
Это вычисляет состояние, может только использоваться с этим устройством.
Оператор импорта
Objective C
@import Metal;
Swift
import Metal
Доступность
Доступный в iOS 8.0 и позже.