gpt4 book ai didi

c++ - openmp读取数据时会出现虚假共享吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:17:35 25 4
gpt4 key购买 nike

如果我有一个带有 OpenMP 并行化的 C++ 程序,其中不同的线程不断使用一些小的共享数组只是为了从中读取数据,在这种情况下是否会发生虚假共享?换句话说,错误共享仅与内存写入操作有关,还是也可能与内存读取操作有关。

最佳答案

通常使用的缓存一致性协议(protocol),例如MESI (已修改、独占、共享、无效),具有称为“共享”的缓存行的特定状态。如果缓存行被多个处理器读取,则缓存行处于此状态。然后每个处理器都有一个缓存行的拷贝,并且可以安全地从中读取而不会出现错误共享。在写入时,通知所有处理器使缓存行无效,这是错误共享的主要原因

关于c++ - openmp读取数据时会出现虚假共享吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44944839/

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