【发布时间】:2020-04-28 06:41:37
【问题描述】:
我不知道 iOS 是否支持 SIMD 组。
The Metal Shading Language Specification 在第 59 页第 4.4.1 节撰写本文时声明:
iOS:不支持 SIMD 组。
但是,在表 6.11.“Metal 标准库中的 SIMD 组函数”中,列出了一些在 iOS 上支持的 SIMD 组函数。这是我想使用的其中之一:
T simd_shuffle_down(T data, ushort delta)macOS:从 Metal 2.0 开始。
iOS:从 Metal 2.2 开始。
类似地,表 5.7.,“内核函数输入参数的属性”,指出一些属性是可用的:
threads_per_simdgroupmacOS:从 Metal 2.0 开始。
iOS:从 Metal 2.2 开始。
因此,从文档中不清楚是否应该支持任何 SIMD 组功能。在计算内核中使用带有 threads_per_simdgroup 属性的函数参数当前会导致运行时 Metal 编译器在 iPhone 7 和 8(但不是 11)上崩溃:
编译器因 XPC_ERROR_CONNECTION_INTERRUPTED 而失败
使用 iOS 13.3 测试的所有设备。金属语言版本是 2.2。 Xcode 11.3 版。
【问题讨论】: