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 и позже.
