我目前正在尝试运行一个名为 MC-GPU V1.3 的程序(https://code.google.com/p/mcgpu/) 在我的笔记本电脑上。
首先,让我解释一下我的情况。
使用配备 Nvidia 650m 的 Lenovo y400 笔记本电脑,运行 Ubuntu 12.10,安装了 Cuda-5.0,所有示例都已编译,并且我运行了相当多的示例来测试它们是否正常工作,使用专有驱动程序,而不是 Cuda-5.0 附带的开发驱动程序,编写了一个快速的“Hello world”cuda 程序,该程序已编译并运行,我使用代码中的给定行进行了编译以创建 MC-GPU_v1.3.x 并使用 ../MC-GPU_v1.3.x MC-GPU_v1.3_6voxels.in | tee MC-GPU_v1.3_6voxels.out 运行简单几何图形
我可以使用 CPU 编译来编译和运行简单的几何代码,但我无法让 GPU 部分工作。
我切换到控制台,通过调用 service lightdm stop 和 init 3 禁用 Xserver。执行此操作后,当我尝试运行代码时,我得到了所有打印输出,直到它指出的位置:启动蒙特卡罗循环阶段,然后它告诉我,我正在执行 7813 个 128 个线程的块,每个线程有 100 个历史记录,总共有 100006400 个历史记录。在此输出之后,我从 MC-GPU_v1.3.cu 中的第 891 行收到一条错误消息,提示 !!模拟粒子轨迹时内核执行失败!!:(4) 未指定的启动失败。
我假设我在代码首次尝试访问 GPU 内存时遇到了错误,但不确定为什么会遇到这些错误。由于我正在运行一个示例,我希望这是一个简单的问题,即未正确编译某些内容或在尝试模拟时缺少某个步骤。如果有人有时间帮忙或我应该分享任何其他信息,请告诉我。
有类似设置的人能帮我理解为什么这在我的笔记本电脑上不起作用以及如何让它运行吗?如果有人愿意帮助我排除故障,我愿意帮助别人在他们的系统上编译和运行该程序以加快速度。
谢谢你,戴夫
答案1
我搞明白了,一切安装都很好,只是蒙特卡罗模拟中的调用太多,我的笔记本电脑无法处理输入。由于我正在运行别人的代码,所以我只是调整了内核输入并多次运行该作业并编译结果。