gpt4 book ai didi

matlab - 我可以测量 matlab 中并行化的加速比吗?

转载 作者:太空宇宙 更新时间:2023-11-03 19:37:54 25 4
gpt4 key购买 nike

如果我假设一个问题是并行化的候选者,例如矩阵乘法或其他一些问题,我使用 Intel i7 haswell 双核,有什么方法可以将并行执行与同一程序的顺序版本进行比较,或者 matlab 会针对我的架构(双核、四核 ..)优化程序?我想知道从一个好的基准并行程序中添加更多处理器的加速。

最佳答案

不幸的是,没有基准并行程序这样的东西。如果您测量基准算法的加速比,这并不意味着所有算法都会受益于并行化

由于您的目标架构只有 2 个内核,您最好完全避免并行化,让 Matlab 和操作系统优化执行。不管怎样,这是我遵循的步骤。

  • 通过计算理论 加速比来确定您的问题是否适合并行化。诸如矩阵乘法或高斯消元之类的一些问题得到了很好的研究。由于我假设您的问题比这更复杂,请尝试将您的算法分解为简单的 block ,并逐 block 确定并行化的优势。
  • 如果您发现算法的多个部分可以从并行化中获益,请分别研究这些部分。
  • 获取顺序算法运行时的统计信息。也就是说,在类似条件(和类似输入)下运行您的程序 X 次,然后计算运行时间的平均值。
  • 获取并行算法运行时的统计信息。
  • 用分析器测量。许多人建议使用像 tictoc 这样的函数。分析器将为您提供更准确的运行时间图,以及每个函数的详细信息。查看documentation有关如何使用分析器的详细信息。
  • 不要错误地考虑 Matlab 打开工作池所花费的时间(我假设您正在使用并行计算工具箱)。根据您的 worker 数量,池需要更多/更少的时间,在某些情况下可能长达 1 分钟(2011 年 b)!

关于matlab - 我可以测量 matlab 中并行化的加速比吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25318507/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com