UPC:指向本地内存的共享指针

UPC: Shared pointer to local memory

我正在为高性能计算课程学习统一并行 C。

有人可以解释一下 为什么 "not recommended" 有一个指向本地内存的共享指针?

我能想到的唯一原因是悬空指针。

请看参考图片:

[

来源: http://hpac.rwth-aachen.de/teaching/sem-lsc-13/UPC.pdf http://www.cs.fsu.edu/~engelen/courses/HPC/Languages.pdf

你是对的 - 原因基本上是悬挂指针的可能性。

更具体地说,指向本地值的指针通常只对创建它的线程有意义,因此将该值放在共享数据结构中通常没有意义,因为其他线程只能将其视为不透明值不能安全地解除引用。此外,无法查询指向本地值的指针以获取关联信息,因此更广泛的数据结构或算法需要以某种方式维护该关联信息,以便知道指针在何处有效使用。