请任何人建议我使用 MATLAB 中的 SPMD 命令简单的编程代码,通过它我可以轻松地看到使用 SPMD 命令的顺序代码和并行代码之间的时序差异。 我已经尝试了很多使用 SPMD 命令的代码,但总是发现在 MATLAB 中使用 SPMD 命令的并行代码比顺序代码花费更多的时间。 我有 core i3 处理器、2 GB RAM、320 GB 硬盘和 MATLAB R2011a。
如果您只有一台机器来运行 SPMD 块,则必须加倍努力才能看到加速。这是因为 MATLAB 中的许多操作本质上是多线程的。这种多线程总是比将数据发送到其他 MATLAB 进程(工作进程)进行计算更有效。如果 MATLAB 本身无法多线程操作,您可能会在单台计算机上使用 SPMD 获得加速。