【发布时间】:2021-06-28 08:59:29
【问题描述】:
对于使用多线程进行密集计算的开发人员来说,这是一个有点实际的问题。
在具有 Intel 或 AMD 多核处理器的典型架构的机器上,使用多线程在大面积内存上重复简单的演算是否有效?
例如,假设我想增加一个巨大的整数数组(或对它们进行一些非常简单的操作)并在具有每个子数组的不同线程之间共享工作负载。
根据处理器的核心数量以及是否超线程,机器可以同时拥有 N 个线程。我的微积分速度可以乘以接近 N 吗?或者 RAM 访问的瓶颈会更快出现吗?
我公司可以租用的典型机器有 N = 40。但如果出现 5 个线程的瓶颈,这些机器将无法实现我们的目标。
我知道理论上,RAM 访问可能是一个瓶颈,但对于在大内存上重复的相同类型的快速操作,我需要实际经验反馈。
【问题讨论】:
标签: multithreading performance intel cpu-architecture amd-processor