【发布时间】:2014-08-14 22:23:38
【问题描述】:
如果我假设一个问题是并行化的候选者,例如矩阵乘法或其他一些问题,我使用 Intel i7 haswell 双核,有什么方法可以将并行执行与同一程序的顺序版本进行比较,或者 matlab 会根据我的架构优化程序(双核、四核 ..)?我想知道从一个好的基准并行程序中添加更多处理器的加速。
【问题讨论】:
标签: matlab parallel-processing intel multicore
如果我假设一个问题是并行化的候选者,例如矩阵乘法或其他一些问题,我使用 Intel i7 haswell 双核,有什么方法可以将并行执行与同一程序的顺序版本进行比较,或者 matlab 会根据我的架构优化程序(双核、四核 ..)?我想知道从一个好的基准并行程序中添加更多处理器的加速。
【问题讨论】:
标签: matlab parallel-processing intel multicore
不幸的是,没有基准并行程序之类的东西。如果您测量基准算法的加速比,这并不意味着所有算法都将从并行化中受益
由于您的目标架构只有 2 个内核,您最好完全避免并行化,让 Matlab 和操作系统来优化执行。无论如何,这是我遵循的步骤。
tic 或toc 之类的函数。分析器将为您提供更准确的运行时间图,以及每个函数的详细信息。有关如何使用分析器的详细信息,请参阅documentation。【讨论】:
您可以在 MATLAB 上尝试"Run and time" 功能。
或者简单地将一些 tic 和 toc 分别放在代码的开头和结尾。
【讨论】:
Matlab 提供了许多计时函数来帮助您评估代码的性能:请阅读文档here 并选择您认为最适合您的情况的函数!特别要注意tictoc 和cputime 函数之间的区别。
【讨论】: