《并行计算的编程模型》一3.5.2 RMA函数使用

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

3.5.2 RMA函数使用

OpenSHMEM API有三种类型的put和get函数:一般、类型和跨步。对RMA的一般put和get函数是类型不可知的,只简单地传输字结块,这两个一般函数对大部分传输都足够用了,但缺乏类型和跨步接口的便利性。OpenSHMEM提供的类型put和get函数操作在连续的原生数据类型块上,函数名指明了位宽或对象类型(因此有20个put和20个get函数指明数据类型或被访问的对象大小)。OpenSHMEM也提供跨步访问函数,允许以指定跨步访问源和目标地址(如数组的每第n个元素)。代码清单3-4、代码清单3-5和代码清单3-6分别描述了一般、类型和跨步put和get函数。
screenshot
screenshot
screenshot
screenshot
每个函数的前两个参数标识要更新的(target)位置和数据要被拷贝的(source)位置。对put函数,target是远程的(被动端PE),由最后一个参数(pe)标示。source是本地的主动端PE。对get函数,要更新的target位置在本地主动端PE,source在远程被动端PE。值得注意的是虽然在被动端PE标明的位置必须在其对称内存里,但主动端的位置允许在对称或非对称内存。倒数第二个参数len描述要传输的数据量,对一般函数是字节数,对类型和跨步函数是标明的原生类型数目。跨步参数tst和sst分别标明访问目标和源数组的跨步,单位是函数名所标明的类型。当跨步设为1时即为连续传输,与这些函数的类型版本相同。代码清单3-7显示使用get和put进行环形通信的简单示例,注意在这个示例中,唯一需要同步的是在设置self和被另一PE读取之间的同步屏障。
screenshot

相关文章
|
缓存 NoSQL 算法
【Redis系列笔记】内存淘汰及过期删除
Redis是一个内存键值对数据库,所以对于内存的管理尤为重要。Redis内部对于内存的管理主要包含两个方向,过期删除策略和数据淘汰策略。内存淘汰策略指在Redis内存使用达到一定阈值的时候,执行某种策略释放内存空间,以便于接收新的数据。数据过期删除策略是指在数据的有效时间到期后,如何从内存中删除这些数据的规则。
285 0
|
机器学习/深度学习 虚拟化 异构计算
浅析GPU通信技术(上)-GPUDirect P2P
1. 背景 GPU在高性能计算和深度学习加速中扮演着非常重要的角色, GPU的强大的并行计算能力,大大提升了运算性能。随着运算数据量的不断攀升,GPU间需要大量的交换数据,GPU通信性能成为了非常重要的指标。
29108 1
|
算法 区块链 数据安全/隐私保护
DAPP合约算力质押/LP挖矿系统开发/智能合约规则解析
DAPP合约算力质押/LP挖矿系统开发/智能合约规则解析
|
并行计算 C语言 C++
《并行计算的编程模型》一1.2 MPI基础
本节书摘来华章计算机《并行计算的编程模型》一书中的第1章 ,第1.2节, [(美)帕万·巴拉吉(Pavan Balaji)编著;张云泉等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
2301 0
|
并行计算
《并行计算的编程模型》一3.5 远程内存访问:put和get
本节书摘来华章计算机《并行计算的编程模型》一书中的第3章 ,第3.5节, [(美)帕万·巴拉吉(Pavan Balaji)编著;张云泉等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1132 0
|
存储 并行计算
《并行计算的编程模型》一3.3 OpenSHMEM存储模型
本节书摘来华章计算机《并行计算的编程模型》一书中的第3章 ,第3.3节, [(美)帕万·巴拉吉(Pavan Balaji)编著;张云泉等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
2948 0
|
并行计算 算法 API
《并行计算的编程模型》一导读
对于正在编程的程序员,编程模型可被看作一台虚拟机,并可通过编程语言和函数库实现。如果某个编程模型成为计算机科学研究中的热点,需要具有以下特性:高效性(易于描述各种抽象算法)、移植性(兼容各种硬件计算平台)、高性能(高效均衡地利用硬件平台的计算能力)、通用性(广泛地描述各种算法)。
3609 0
|
并行计算 程序员 API
《并行计算的编程模型》一2.2 GASNet概述
本节书摘来华章计算机《并行计算的编程模型》一书中的第2章 ,第2.2节, [(美)帕万·巴拉吉(Pavan Balaji)编著;张云泉等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1357 0
|
并行计算 API
《并行计算的编程模型》一3.1 引言
本节书摘来华章计算机《并行计算的编程模型》一书中的第3章 ,第3.1节, [(美)帕万·巴拉吉(Pavan Balaji)编著;张云泉等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1031 0
|
并行计算
《并行计算的编程模型》一1.7 单边通信
本节书摘来华章计算机《并行计算的编程模型》一书中的第1章 ,第1.7节, [(美)帕万·巴拉吉(Pavan Balaji)编著;张云泉等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
2841 0