6

Using MetalKit for iOS 10, when we try to perform MPSCNNConvolution, with inputs as following :

Kernel Size : 16x16 Input channels : 300 Output channels : 250

Dimensions of input image : 250x250x300

Execution of Command Buffer takes over 10 seconds and after that it exits saying "Execution of the command buffer was aborted due to an error during execution. Caused GPU Timeout Error (IOAF Code 2)". How to fix this?

Is there a way to fasten the process? (as 10 seconds is too much for executing these high-dimensional convolutions)

With the help of these convolutions, our aim is to execute deconvolution and as there is no API on it yet, we try to do it on our own. Is there any API methods to perform these deconvolution operations?

mayuur
  • 4,736
  • 4
  • 30
  • 65

1 Answers1

1

It sounds like there was an error that led to a timeout. I don't think the execution time of your program is the actual cause of the timeout.

I would try the following: go to Product -> Scheme -> Edit Scheme -> with "Run" selected hit the Options tab -> Set Metal API Validation to Enabled.

That will allow Metal to throw an exception the moment you pass it invalid parameters, rather than spitting out mysterious errors later on.

llama591
  • 453
  • 5
  • 15