《并行计算的编程模型》一3.7.2 同步数组和工作数组

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

3.7.2 同步数组和工作数组

集合函数需要对称同步数组(及归约操作的对称工作数组),对特定的操作和使用的PE子集设置合适的大小并初始化。这些数组代表全局状态,每个数组的对称成分应该按照一个整体来处理。当对同步数组或工作数组进行访问时,上述描述应该被理解为引用所有PE上该数组对称镜像的整个集合。对同步和工作数组有几个重要的点需要注意。

  • 初始化:程序要确保同步数组的分配和初始化及工作数组的分配在集合操作开始使用它们之前在所有PE上完成,这可以通过使用静态分配的数组或在动态分配后使用全局同步屏障来执行。一般所有这些数组都在临近程序启动时分配,因此最多只需要一个全局同步屏障。
    排他性:一旦一个集合操作开始,程序必须在所有PE完成操作前保护操作的同步或工作数组免于被其他活动修改(如内存操作、RMA、其他集合操作)。这意味着这些数组不能立即被后续的集合操作重用。
  • 完成时取值:一旦所有PE完成,同步或工作数组返回到可以被重用的状态。
  • 保护重用:为保护同步或工作数组在一系列集合操作中重用,程序可能需要在重用同步或工作数组之前加全局同步屏障(不好),或在两个同步或工作数组之间轮换(更好)。
  • 重用需要相同的PE集:当且仅当参与操作的PE子集保持不变,即开始PE、参与PE数和 log2(PE_跨步)都相同,同类型(屏障、广播、收集、归约)的连续操作不需要对重用的同步数组进行初始化。如果工作数组对某个操作尺寸合适(元素的数目和类型)也可以被重用。
相关文章
|
前端开发 JavaScript Java
Spring Boot中使用拦截器
本节主要介绍了 Spring Boot 中拦截器的使用,从拦截器的创建、配置,到拦截器对静态资源的影响,都做了详细的分析。Spring Boot 2.0 之后拦截器的配置支持两种方式,可以根据实际情况选择不同的配置方式。最后结合实际中的使用,举了两个常用的场景,希望读者能够认真消化,掌握拦截器的使用。
|
缓存 负载均衡 Java
OpenFeign最核心组件LoadBalancerFeignClient详解(集成Ribbon负载均衡能力)
文章标题为“OpenFeign的Ribbon负载均衡详解”,是继OpenFeign十大可扩展组件讨论之后,深入探讨了Ribbon如何为OpenFeign提供负载均衡能力的详解。
OpenFeign最核心组件LoadBalancerFeignClient详解(集成Ribbon负载均衡能力)
|
网络协议
【新功能发布】阿里云云解析DNS“子域名管理”功能上线
大家期待已久的云解析“子域名管理”新功能已于8月7日成功上线。子域名管理是阿里云针对用户对主、子域名分别管理的需求场景下,推出的全新功能。 我们先来看看两个基本概念。 子域名:例如 http://www.aliyun.com 是 http://aliyun.com 的子域名。
|
6天前
|
人工智能 JSON 监控
Claude Code 源码泄露:一份价值亿元的 AI 工程公开课
我以为顶级 AI 产品的护城河是模型。读完这 51.2 万行泄露的源码,我发现自己错了。
4334 17
|
17天前
|
人工智能 JSON 机器人
让龙虾成为你的“公众号分身” | 阿里云服务器玩Openclaw
本文带你零成本玩转OpenClaw:学生认证白嫖6个月阿里云服务器,手把手配置飞书机器人、接入免费/高性价比AI模型(NVIDIA/通义),并打造微信公众号“全自动分身”——实时抓热榜、AI选题拆解、一键发布草稿,5分钟完成热点→文章全流程!
14942 138
让龙虾成为你的“公众号分身” | 阿里云服务器玩Openclaw
|
5天前
|
人工智能 数据可视化 安全
王炸组合!阿里云 OpenClaw X 飞书 CLI,开启 Agent 基建狂潮!(附带免费使用6个月服务器)
本文详解如何用阿里云Lighthouse一键部署OpenClaw,结合飞书CLI等工具,让AI真正“动手”——自动群发、生成科研日报、整理知识库。核心理念:未来软件应为AI而生,CLI即AI的“手脚”,实现高效、安全、可控的智能自动化。
3105 8
王炸组合!阿里云 OpenClaw X 飞书 CLI,开启 Agent 基建狂潮!(附带免费使用6个月服务器)
|
7天前
|
人工智能 自然语言处理 数据挖掘
零基础30分钟搞定 Claude Code,这一步90%的人直接跳过了
本文直击Claude Code使用痛点,提供零基础30分钟上手指南:强调必须配置“工作上下文”(about-me.md+anti-ai-style.md)、采用Cowork/Code模式、建立标准文件结构、用提问式提示词驱动AI理解→规划→执行。附可复制模板与真实项目启动法,助你将Claude从聊天工具升级为高效执行系统。