【发布时间】:2010-04-19 13:46:28
【问题描述】:
我前段时间开发了一个开放的 mpi 代码。现在我正在再次研究它并想做一些测试。由于无法避免的原因,我现在只能使用单核计算机(我的电脑)进行编程和测试。
我知道有虚拟机。以同样的方式,我想知道我是否可以得到一个具有八核 cpu 的虚拟机,这样我就可以测试我的代码,即使它的运行速度会慢 1000 倍。
我知道对于单元处理器,有某种类似功能的模拟器。
【问题讨论】:
我前段时间开发了一个开放的 mpi 代码。现在我正在再次研究它并想做一些测试。由于无法避免的原因,我现在只能使用单核计算机(我的电脑)进行编程和测试。
我知道有虚拟机。以同样的方式,我想知道我是否可以得到一个具有八核 cpu 的虚拟机,这样我就可以测试我的代码,即使它的运行速度会慢 1000 倍。
我知道对于单元处理器,有某种类似功能的模拟器。
【问题讨论】:
您似乎不太可能找到可以让您准确评估代码在多核系统上的性能的模拟器。这样的系统需要准确地模拟计算机的内存层次结构以及内核本身的详细性能。我不知道有任何程序可以让您在单核系统上执行此操作。
OTOH,您可以使用mpirun -np N 在单核机器上使用多个线程运行程序,其中N 是线程数。要测试您的代码,您至少应该运行多个具有许多不同线程数的数据集。您还应该多次运行每个数据集,因为线程可能不会每次都以完全相同的方式运行。
以这种方式测试您的代码远非最佳,但在多核系统上测试您的代码也不能保证代码是正确的。鉴于您的情况,使用多个线程运行它可能是您能做的最好的事情。
【讨论】: