gpt4 book ai didi

multithreading - omp 刷新和 cc-NUMA 架构

转载 作者:行者123 更新时间:2023-12-01 05:34:01 24 4
gpt4 key购买 nike

我想念 cc-NUMA 架构和刷新变量的需要。我们都知道,如果两个线程修改同一个缓存行,则会出现“错误共享”条件,迫使缓存行再次重新加载。
那么为什么我们需要刷新变量才能让线程交换信息呢?
假设在您声明的串行区域中:

int flag=0;

然后在并行区域 Thread 0 分配共享变量:
 flag=1;

将线程 1:
while (!flag){}

循环是否会在没有刷新的情况下终止?如果不是,为什么我们在 cc-NUMA 架构中?

最佳答案

不要忘记编译器还可以执行导致上述代码中断的优化,而不仅仅是 CPU。

因此,我认为无论缓存一致性的硬件支持如何,刷新仍然是必要的。

关于multithreading - omp 刷新和 cc-NUMA 架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9796022/

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