《并行计算的编程模型》一3.6.3 锁

简介: 本节书摘来华章计算机《并行计算的编程模型》一书中的第3章 ,第3.6.3节, [(美)帕万·巴拉吉(Pavan Balaji)编著;张云泉等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.6.3 锁

OpenSHMEM在对称内存中实现互斥锁,这些函数的原型如代码清单3-12所示。lock参数必须存在于对称内存空间中并在试图使用前被初始化为0,一般都在全局范围将它们声明为静态变量并初始化为0,或者程序员在lock初始化后和被使用前调用全局同步屏障。shmem_set_lock()函数将在获得锁后返回,如果需要的话会等到锁被清除。shmem_clear_lock()函数将释放锁,且仅应该被通过set函数获得锁的PE调用。shmem_test_lock()函数会尝试获取锁,如果成功返回0,若锁已被设置则返回1,正如其他范型中的锁,有必要让程序员确信程序没有创建死锁。
screenshot

相关文章
|
网络协议 NoSQL API
深入理解 RDMA 的软硬件交互机制
本文深入分析了RDMA技术在数据中心高性能网络环境下的工作原理及软硬件交互机制,通过对比传统Kernel TCP,突出了RDMA在减少延迟、提高系统性能方面的优势,同时讨论了其在内存管理、软硬交互方面的关键技术和挑战,为读者提供了全面理解RDMA技术及其应用场景的视角。
4783 8
|
机器学习/深度学习 虚拟化 异构计算
浅析GPU通信技术(上)-GPUDirect P2P
1. 背景 GPU在高性能计算和深度学习加速中扮演着非常重要的角色, GPU的强大的并行计算能力,大大提升了运算性能。随着运算数据量的不断攀升,GPU间需要大量的交换数据,GPU通信性能成为了非常重要的指标。
30736 1
|
云安全 弹性计算 运维
科普达人丨漫画图解什么是eRDMA?
绕过CPU,将数据直接从一台计算机的内存传输到另一台计算机,进行网络加速
科普达人丨漫画图解什么是eRDMA?
|
并行计算 算法
CUDA 的块间同步方法
CUDA 的块间同步方法
1579 0
|
并行计算
《并行计算的编程模型》一3.5 远程内存访问:put和get
本节书摘来华章计算机《并行计算的编程模型》一书中的第3章 ,第3.5节, [(美)帕万·巴拉吉(Pavan Balaji)编著;张云泉等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1203 0
|
并行计算 API
《并行计算的编程模型》一3.1 引言
本节书摘来华章计算机《并行计算的编程模型》一书中的第3章 ,第3.1节, [(美)帕万·巴拉吉(Pavan Balaji)编著;张云泉等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1108 0
|
并行计算 算法 API
《并行计算的编程模型》一导读
对于正在编程的程序员,编程模型可被看作一台虚拟机,并可通过编程语言和函数库实现。如果某个编程模型成为计算机科学研究中的热点,需要具有以下特性:高效性(易于描述各种抽象算法)、移植性(兼容各种硬件计算平台)、高性能(高效均衡地利用硬件平台的计算能力)、通用性(广泛地描述各种算法)。
3786 0
|
存储 并行计算
《并行计算的编程模型》一3.3 OpenSHMEM存储模型
本节书摘来华章计算机《并行计算的编程模型》一书中的第3章 ,第3.3节, [(美)帕万·巴拉吉(Pavan Balaji)编著;张云泉等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
3484 0
|
并行计算 程序员
《并行计算的编程模型》一3.7.4 广播
本节书摘来华章计算机《并行计算的编程模型》一书中的第3章 ,第3.7.4节, [(美)帕万·巴拉吉(Pavan Balaji)编著;张云泉等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
2489 0
|
并行计算
《并行计算的编程模型》一3.6.1 全局同步屏障
本节书摘来华章计算机《并行计算的编程模型》一书中的第3章 ,第3.6.1节, [(美)帕万·巴拉吉(Pavan Balaji)编著;张云泉等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1178 0