《并行计算的编程模型》一2.5.1 GASNet工具

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

2.5.1 GASNet工具

在各种系统实现GASNet过程中,开发团队发现需要统一支持的各种抽象。因为同一个团队同时负责了HPC和Titanium语言运行时,相同抽象需要复制三次(包括复杂的autoconf逻辑和C预处理器宏)的特性逐渐凸显出来,除非GASNet为客户端提供了公共实现。因此独立于GASNet规范的“GASNet工具”接口应运而生。当其包含在GASNet中时,可以获得单独的GASNet发布版本而无需GASNet的其他部分(即没有核心或扩展API)。当然,无论是作为GASNet中的一部分还是从独立发布版本中获取的工具,接口都全部记录在文件README-tools中。工具API中的一些功能简单介绍如下所示:

  • 内存屏障:例如,用于编写自旋锁构造,特别是对于比x86更弱的内存模型体系架构。
  • 原子性:例如用于编写无锁的数据结构。
  • 编译器注释:允许便捷地使用GNU C_?_attribute_?_和与其等效的其他编译器操作。
  • 分支预测:便捷地应用分支预测提示。
  • 回滚:从各种C库实现和外部调试器中获取堆栈跟踪信息。
相关文章
|
存储 缓存 数据安全/隐私保护
段页存储
段页存储
376 0
|
关系型数据库 数据库 数据安全/隐私保护
Docker-10:Docker安装PostgreSQL
通过容器化Docker 安装 postgrel
6706 0
Docker-10:Docker安装PostgreSQL
|
数据库连接 数据库 C#
Windows下C# 通过ADO.NET方式连接南大通用GBase 8s数据库(上)
Windows下C# 通过ADO.NET方式连接南大通用GBase 8s数据库(上)
|
机器学习/深度学习 人工智能 物联网
操作系统的心脏——深入理解内核机制
在本文中,我们揭开操作系统内核的神秘面纱,探索其作为计算机系统核心的重要性。通过详细分析内核的基本功能、类型以及它如何管理硬件资源和软件进程,我们将了解内核是如何成为现代计算不可或缺的基础。此外,我们还会探讨内核设计的挑战和未来趋势,为读者提供一个全面的内核知识框架。
|
前端开发 JavaScript Go
JS基础:输出信息的5种方式详解
JS基础:输出信息的5种方式详解
380 1
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的电子书阅读器系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的电子书阅读器系统的详细设计和实现(源码+lw+部署文档+讲解等)
390 15
|
Kubernetes NoSQL 应用服务中间件
k8s-Helm包管理器
k8s-Helm包管理器
290 1
k8s-Helm包管理器
|
XML 运维 监控
PowerShell实战:Get-Content命令使用详解
【2月更文挑战第12篇】 Get-Content 主要作用是获取路径指定位置的项(文本类文件)的内容,例如文件中的文本或函数的内容。 对于文件,内容一次读取一行,并返回对象的集合,每个对象表示一行内容。
|
Ubuntu C语言
【Ubuntu20.04】安装gcc11 g++11, Ubuntu18.04
以上就是在Ubuntu 20.04和Ubuntu 18.04上安装gcc11和g++11的步骤。
2969 0
|
供应链 监控 安全
【区块链】记账的千年演化:从泥板到区块链
记账,作为人类文明进步的重要标志之一,其技术与方法的演变,见证了经济、社会乃至文化的深刻变迁。从最原始的实物记录到今天的数字账本——区块链,每一阶段的革新都推动着交易透明度、安全性与效率的大幅提升。本文将穿越千年历史长河,探索记账科技的演进之路。
346 0