适用于iOS 10的MetalKit:由于执行期间的错误,命令缓冲区的执行被中止.导致GPU超时错误(IOAF代码2)

may*_*uur 6 iphone metal deconvolution ios10

使用MetalKit for iOS 10,当我们尝试执行MPSCNNConvolution时,输入如下:

内核大小:16x16输入通道:300输出通道:250

输入图像尺寸:250x250x300

命令缓冲区的执行需要10秒以上,然后退出"执行命令缓冲区由于执行期间的错误而中止.导致GPU超时错误(IOAF代码2)".如何解决这个问题?

有没有办法加快这个过程?(对于执行这些高维卷积,10秒太多了)

在这些卷积的帮助下,我们的目标是执行反卷积,因为它还没有API,我们会尝试自己完成.有没有API方法来执行这些反卷积操作?

lla*_*591 1

听起来好像有一个错误导致超时。我不认为你的程序的执行时间是超时的实际原因。

我会尝试以下操作:转到产品 -> 方案 -> 编辑方案 -> 选择“运行”,点击选项选项卡 ->将 Metal API Validation 设置为 Enabled

这将允许 Metal 在您向其传递无效参数时抛出异常,而不是稍后吐出神秘的错误。