gpt4 book ai didi

c++ - 具有 `k` 个线程的多线程程序的运行速度能否比其顺序版本快 `k` 倍以上?

转载 作者:行者123 更新时间:2023-11-30 05:26:00 25 4
gpt4 key购买 nike

<分区>

我知道并行程序的瓶颈,包括内存访问速度限制导致多线程程序运行速度比我们预期的运行时间慢,甚至比它的顺序版本慢。我想知道是否可以反过来(解释如下)。

具体来说,我想知道是否存在这样一种情况,即具有 k 个线程的多线程程序的运行速度比程序的顺序版本快 k 倍同一台机器。假设程序的顺序版本需要 100 秒来完成任务,而使用 5 个线程的多线程版本需要 10 秒才能完成。

我假设这两个程序具有相同的算法、相同的数据结构、相同的实现以及具有相同优化选项的相同编译器。

一种可能的情况是硬件可以更好地执行多线程程序,但我不知道这样的硬件(问题是是否存在)。另一种情况可能是较低级别的软件实现。例如编译器对多线程版本有更好的优化,但在真实的编译器中是否存在这种情况?

编辑:这个答案的一个迹象是据说 AMD 在多线程任务上表现更好,而不是在单线程任务上。但它是如何完成的呢? ( Difference between intel and AMD multithreading )

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