10 2023 档案
摘要:在本次notebook中,我们将: 并行化一个简单的算法 学习不同并行策略的performance 使用Julia进行实现 问题描述 假设 所有矩阵,包括A,B和C都初始存储在master process 最终的结果会将在C中被覆盖 步骤 为了实现并行化,我们将遵循以下步骤: 确定顺序算法中可以并行
阅读全文
摘要:在本章中,我们将开始学习一系列专门讨论几种分布算法的设计、分析和实现的会议。这些算法经过精心挑选,以说明分布式内存方法的算法并行化的不同方面和潜在陷阱。本系列的第一部分研究矩阵乘法。 学习目标 在学习完本章节后,我们应该能够: 在多个处理器上并行执行矩阵乘法 通过复杂度分析和运行代码来研究不同并行化
阅读全文
摘要:在本章中,我们将学习Julia中实现分布式算法的基本工具。我们介绍了Julia中的用于分布式计算的两种主要编程模型:1)Julia标准库附带的基于任务的模型;2)Julia与消息传递接口MPI的绑定。 学习完本章节后,我们应该能够: 使用两种不同的编程模型(基于任务的模型和MPI)在Julia中实现
阅读全文
摘要:在本章中,我们将学习Julia异步编程的基础知识,我们将了解: tasks channels Tasks 创建任务 从技术上讲,Julia中的任务是symmetric co-routine(对称协同例程)。更通俗地说,task是一项计算工作,可以在将来的某个时刻开始安排,并且可以中断和恢复。要创建任
阅读全文
摘要:在本章中,我们将学习并行计算所需的Julia基本部分: 变量 函数 数组 在Julia中使用jupyter笔记本,运行单元格可以使用shift + enter,也可以使用运行按钮。 运行第一个单元格可以看到,显示了最后一行的值,我们可以用分号抑制输出,尝试执行第二个单元格,可以发现没有输出。 单元格
阅读全文
摘要:本次并行计算课程将使用Julia编程语言,与高性能计算HPC相关的课程通常使用C、C++或者Fortran语言,Julia是一种较为新的编程语言,专为科学计算而设计。它将类似python等解释用语言的高级语法与C等编译语言的性能相结合。因此,Julia允许我们使用在教学环境中方便的语法编写高效的并行
阅读全文
摘要:问题: 以下互连拓扑的优点和缺点是什么:二维网格、二叉树和超立方体。 注意:最好在 MPI 讲座之后做问题 2B;该问题将在那里重复并进行讨论。一些并行机包含具有不同拓扑的多个网络。例如,Blue Gene 有一个具有 3D 网状拓扑的网络和另一个具有树形拓扑的网络。 解释为什么在一台机器上拥有不同
阅读全文