gpt4 book ai didi

c# - 如何针对双核、四核和更高的多处理器进行优化?

转载 作者:可可西里 更新时间:2023-11-01 08:43:06 24 4
gpt4 key购买 nike

伙计们,我从事高速软件编程已经 20 多年了,几乎了解书中的每一个技巧,从微平台制作合作、分析、用户模式多任务处理、尾递归,你可以用它来命名非常高性能的东西Linux、Windows 等。

问题是,当 CPU 密集型工作的多个线程暴露给多核处理器时,我发现自己对发生的事情感到困惑。

线程之间(在不同内核上)共享数据的各种方式的微基准测试的性能结果似乎不符合逻辑。

很明显,内核之间存在一些“隐藏的交互”,这在我自己的编程代码中并不明显。我听说过 L1 缓存和其他问题,但这些对我来说是不透明的。

问题是:我在哪里可以学到这些东西?我正在寻找一本关于多核处理器如何工作、如何编程以利用其内存缓存或其他硬件架构而不是被它们惩罚的深入书籍。

有什么建议或很棒的网站或书籍吗?经过大量谷歌搜索后,我一无所获。

真诚的,韦恩

最佳答案

这本书教会了我很多关于为什么原始 CPU 能力不是唯一需要注意的事情的问题。我几年前在研究生院使用过它,但我认为所有原则仍然适用:

http://www.amazon.com/Computer-Architecture-Quantitative-Approach-4th/dp/0123704901

本质上,多进程配置中的一个主要问题是同步对主内存的访问,如果您做得不好,它可能成为性能的真正瓶颈。必须保持同步的缓存非常复杂。

关于c# - 如何针对双核、四核和更高的多处理器进行优化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8632949/

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