《并行计算的编程模型》一3.8.3 原子交换和条件交换

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

3.8.3 原子交换和条件交换

swap AMO将在远程PE的目标操作数与其参数列表的值操作数交换,并将AMO之前的目标值返回给主动PE。条件交换AMO(cswap)将测试目标操作数,如果与条件参数相等,参数列表的值操作数将替换目标的值。在上述两种情况下,在AMO之前的目标值都会返回给主动PE。如取–加和取–递增操作,swap操作符的返回隐含了比add和inc AMO更强的顺序。如其他AMO,swap AMO有时被用于触发被动端的wait函数。代码清单3-24展示了swap AMO的使用,其中奇数的PE在其继承者的对称内存中执行swap,并打印取回值。注意swap提供所有必要的同步。
screenshot
screenshot
screenshot

相关文章
|
存储 固态存储 关系型数据库
Apache Doris 系列: 入门篇-安装部署
Apache Doris 系列: 入门篇-安装部署
4189 0
|
Ubuntu Linux 数据安全/隐私保护
使用Cython库包对python的py文件(源码)进行加密,把python的.py文件生成.so文件并调用
本文介绍了在Linux系统(Ubuntu 18.04)下将Python源代码(`.py文件`)加密为`.so文件`的方法。首先安装必要的工具如`python3-dev`、`gcc`和`Cython`。然后通过`setup.py`脚本使用Cython将`.py文件`转化为`.so文件`,从而实现源代码的加密保护。文中详细描述了从编写源代码到生成及调用`.so文件`的具体步骤。此方法相较于转化为`.pyc文件`提供了更高的安全性。
2018 2
|
SQL 分布式计算 Hadoop
Spark分布式内存计算框架
Spark分布式内存计算框架
|
网络协议 NoSQL API
深入理解 RDMA 的软硬件交互机制
本文深入分析了RDMA技术在数据中心高性能网络环境下的工作原理及软硬件交互机制,通过对比传统Kernel TCP,突出了RDMA在减少延迟、提高系统性能方面的优势,同时讨论了其在内存管理、软硬交互方面的关键技术和挑战,为读者提供了全面理解RDMA技术及其应用场景的视角。
5146 8
|
机器学习/深度学习 虚拟化 异构计算
浅析GPU通信技术(上)-GPUDirect P2P
1. 背景 GPU在高性能计算和深度学习加速中扮演着非常重要的角色, GPU的强大的并行计算能力,大大提升了运算性能。随着运算数据量的不断攀升,GPU间需要大量的交换数据,GPU通信性能成为了非常重要的指标。
30870 1
|
存储 Java 大数据
Apache Arrow 新手上路
# 什么是Arrow [Apache Arrow](https://https://arrow.apache.org/)是一个开源的跨平台数据层开发框架,主要提供高效的、硬件加速的内存中数据计算能力。Apache Arrow的设计初衷是作为“新一代大数据系统的共享基础”,可以作为不同系统之间进行高效数据交换的媒介,同时提供快速、低延迟的数据访问接口。 Apache Arrow的主要目标是通过提
Apache Arrow 新手上路
|
云安全 弹性计算 运维
科普达人丨漫画图解什么是eRDMA?
绕过CPU,将数据直接从一台计算机的内存传输到另一台计算机,进行网络加速
科普达人丨漫画图解什么是eRDMA?
|
存储 Kubernetes druid
【Druid】(四)Apache Druid 部署和配置(单机版 / Docker 容器版 / Kubernetes 集群版)1
【Druid】(四)Apache Druid 部署和配置(单机版 / Docker 容器版 / Kubernetes 集群版)1
2177 0
【Druid】(四)Apache Druid 部署和配置(单机版 / Docker 容器版 / Kubernetes 集群版)1
|
存储 分布式计算 监控
【Druid】(一)Apache Druid 基本介绍
【Druid】(一)Apache Druid 基本介绍
2952 0
【Druid】(一)Apache Druid 基本介绍

热门文章

最新文章