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

时间:2017-01-26 06:05:02

标签: iphone ios10 metal deconvolution

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

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

输入图像的尺寸:250x250x300

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

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

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

1 个答案:

答案 0 :(得分:-1)

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

我会尝试以下操作:转到产品 - >方案 - >编辑方案 - >用" Run"选中了选项选项卡 - > 将金属API验证设置为已启用

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