我正在使用Metal构建命令行工具。我有意在内核函数中放置了for(;;)
,并且我希望看到Mac的显示会冻结,直到timeout
发生为止。我用MTLView
在某些Metal应用程序中尝试过,机器被挂起。
错误消息是
Execution of the command buffer was aborted due to an error during execution.
Caused GPU Timeout Error (IOAF code 2)
但是我正在构建的命令行工具不会发生这种情况。我不知道为什么它不会阻塞GPU。我以为我所有的线程都会继续占用GPU资源,因此显示将冻结。
为什么这种情况没有发生?