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
你是对的 - 原因基本上是悬挂指针的可能性。
更具体地说,指向本地值的指针通常只对创建它的线程有意义,因此将该值放在共享数据结构中通常没有意义,因为其他线程只能将其视为不透明值不能安全地解除引用。此外,无法查询指向本地值的指针以获取关联信息,因此更广泛的数据结构或算法需要以某种方式维护该关联信息,以便知道指针在何处有效使用。
我正在为高性能计算课程学习统一并行 C。
有人可以解释一下 为什么 "not recommended" 有一个指向本地内存的共享指针?
我能想到的唯一原因是悬空指针。
请看参考图片:
[
来源: http://hpac.rwth-aachen.de/teaching/sem-lsc-13/UPC.pdf http://www.cs.fsu.edu/~engelen/courses/HPC/Languages.pdf
你是对的 - 原因基本上是悬挂指针的可能性。
更具体地说,指向本地值的指针通常只对创建它的线程有意义,因此将该值放在共享数据结构中通常没有意义,因为其他线程只能将其视为不透明值不能安全地解除引用。此外,无法查询指向本地值的指针以获取关联信息,因此更广泛的数据结构或算法需要以某种方式维护该关联信息,以便知道指针在何处有效使用。