我一直在研究用openframeworks编写的opencl八叉光线施法者。它需要5-10m点的点云,构建一个八叉树,将八叉树传递给内核,然后运行大约200k的光线投射以找到点拦截。
代码运行良好,结果通过vbo对象呈现。请参阅here和here了解几个片段(仍然完善了交叉点检查)。
问题是,我最近有一系列的黑屏幕时刻。 (我在2013年末的mac pro上有最新的el-cap更新)我很确定黑屏是某种形式的内核崩溃或过载(?)。它们偶尔会在应用程序运行时发生,甚至在OF关闭时也会发生,之后我又转向其他工作。经常足以使工作成为一场噩梦...
我对opencl等相当绿,但我认为我的基本内核代码是健全的。我还在退出时在c ++中包含清理函数。是否有任何其他我可能不知道的简单问题/保护措施,我需要确保包含/我可以在我的应用程序中尝试?
我可能需要提供更多信息,并乐于根据问题进行更新。
希望 小号
更新: 这是最新关闭的系统报告;在运行应用程序后崩溃后重新启动后发生。我完全没有线索:
#!/usr/bin/perl
use Data::Dumper;
print "Content-type: text/plain\r\n\r\n".Dumper(\%ENV);
答案 0 :(得分:0)
经过多次检查后,我的opencl代码没有任何问题。
问题似乎是GPU正在进行某种热量限制;如果它达到55摄氏度就会关闭,繁荣。去Apple。
通过下载smcFanControl和gfxCardStatus,将风扇转为满,并密切关注温度,我已经将恐慌降低到可以忍受/可管理的状态。
不太好,但也许我需要一台更好的笔记本电脑。