《并行计算的编程模型》一2.3.7 活动消息规则与约束

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

2.3.7 活动消息规则与约束

GASNet规范是了解相关细节最完整的参考资料,本节将介绍使用GASNet编写正确、可移植的AM代码时所必须遵循的主要规则。然而,并非所有应用实现都必须强制执行所有的规则,只是客户端必须遵循这些规则,否则一些实现将出现不正确的操作。

  • 作为AM Request结果的处理程序执行,仅允许通过对AMReply函数的单一可选函数进行通信。
  • 作为AM Reply结果的处理程序执行,不允许发生任何通信。
  • 没有处理程序可以调用GASNet屏障函数、初始化AM Request或调用扩展API中的任意部分(包括那些禁止通信部分)。
  • 处理程序可以在函数中临时阻塞以获得HSL,但必须在函数执行结束前释放获得的HSL。
  • 处理程序可以不调用GASNET_BLOCKUNTIL。
  • GASNet实现不必保证AM顺序执行且客户端代码必须在重新排序消息发生时处于死锁状态。
  • 客户端代码必须以线程安全的方式进行编写(通过正确使用HSL的方式),即使是单线程客户端,GASNet也可以异步执行AM处理程序。
  • 传递给GASNET_BLOCKUNTIL的表达式也得受上述规则约束,且需要考虑这些表达式有可能与AM处理程序并发执行的情况。
相关文章
|
机器学习/深度学习 网络协议 中间件
[ROS2] --- ROS diff ROS2
[ROS2] --- ROS diff ROS2
480 0
地理编码与反地理编码
地理编码与反地理编码
905 0
地理编码与反地理编码
|
9月前
|
监控 算法 API
拼多多API团购活动自动化:拼单成功率暴涨的幕后技术解析
本方案通过API自动化引擎破解传统团购效率低、响应慢、数据分散等问题,实现库存、价格、成团的实时联动。实战数据显示,成团时效提升74%,拼单成功率高达92%,人力成本下降80%。某生鲜商家接入后,月GMV突破500万元,成团率高达98.3%。API赋能团购,开启电商效率新纪元。
394 0
|
PyTorch API 算法框架/工具
DeepSeek 部署方式与技术实践
DeepSeek的部署灵活性使其在多个领域大放异彩,但需根据场景权衡性能、成本与安全性。随着工具生态的完善与行业方案的沉淀,2025年将成为AI大模型落地关键年。开发者应持续关注MoE、COT等技术创新,结合自身需求选择最优部署策略。
1004 1
|
9月前
|
Ubuntu 安全 Linux
CentOS和Ubuntu区别
好的选择。 Ubuntu有一个很大的社区平台,可以提供丰富的文档和经验。 Ubuntu服务器的图形界面适合大多数人的习惯。 因此,如果是初学者且没有特别的要求,就使用Ubuntu服务器吧。 CentOS适用于公司的生产环境,Centos的更新频率不高,仅发布稳定的版本。 网上项目教程大多基于Centos。 Ubuntu面向初学者,CentOS面向公司服务器。
|
人工智能 Java 程序员
一文彻底搞定C语言的表达式和语句
本文介绍了C语言中的表达式和语句,涵盖算术、关系等表达式及各类语句的用法,帮助初学者理解核心概念。本文介绍C语言表达式(算术、关系等)和语句(表达式、复合、控制、函数、空语句),助你掌握核心概念。
1041 0
一文彻底搞定C语言的表达式和语句
|
人工智能 自然语言处理 测试技术
苹果一篇论文得罪大模型圈?Transformer不会推理,只是高级模式匹配器!所有LLM都判死刑
苹果公司发布论文《GSM-Symbolic: Understanding the Limitations of Mathematical Reasoning in Large Language Models》,质疑大型语言模型(LLM)在数学推理方面的能力。尽管LLM在GSM8K等测试中表现良好,但在新基准测试GSM-Symbolic中,其准确率随数值变化而显著下降,表明LLM可能依赖于记忆和模式匹配而非真正的数学理解。这一发现引发了AI领域的广泛讨论。
388 5
|
芯片
浮动CPU和定点CPU的主要区别是什么
浮动CPU和定点CPU的主要区别在于处理数据的方式不同。浮动CPU支持浮点运算,能高效处理小数和高精度计算;而定点CPU仅支持整数运算,适用于对精度要求不高的场景。
|
监控 算法 数据安全/隐私保护
基于三帧差算法的运动目标检测系统FPGA实现,包含testbench和MATLAB辅助验证程序
本项目展示了基于FPGA与MATLAB实现的三帧差算法运动目标检测。使用Vivado 2019.2和MATLAB 2022a开发环境,通过对比连续三帧图像的像素值变化,有效识别运动区域。项目包括完整无水印的运行效果预览、详细中文注释的代码及操作步骤视频,适合学习和研究。
|
Go C语言 Python
使用 Cython 包装外部的 C 代码
使用 Cython 包装外部的 C 代码
350 0

热门文章

最新文章