Python 并行编程教程 | Lynda教程 中文字幕

Python 并行编程教程 | Lynda教程 中文字幕

Python Parallel Programming Solutions

课程ID: 604237

时长: 4.0小时

所属类别:Python

学习使用Python的并行编程技术,并探索可以编写代码的多种方法,允许一次执行多个任务

首先,了解如何开发和实施高效的软件体系结构,以便利用基于线程和基于过程的并行性

接下来,了解如何使用Python模块进行异步编程

然后,使用PyCUDA,NumbaPro和PyOpenCL探索GPU编程

本课程涵盖了同步过程,简化沟通,减少操作和优化代码,因此您可以为您的应用程序选择并实施正确的并行处理解决方案

注意:本课程由Packt Publishing创建

我们很高兴在我们的图书馆举办这一培训

主题包括:

记忆组织

并行编程模型

设计并行程序并评估性能

在Python中使用线程

同步线程并使用多线程

产生一个过程

在后台运行进程

同步进程

使用mpi4py Python模块

使用集体交流

减少操作

使用Asyncio管理事件,任务和例程

分配任务

嗨, 欢迎来到课程的第一部分。

并行计算和Python入门。

在本节中, 我们将讨论并行计算和内存架构。

我们还将关注内存组织和并行编程模型。

接下来, 我们将看到如何设计并行程序, 并评估并行程序的性能。

此外, 我们将介绍Python。

并且我们将与流程一起工作, 并与他们一起调节。

所以我们来看看这部分的第一部影片。

并行计算内存架构。

在这个视频中, 我们将了解Flynn的分类法, 其中包括SISD, MISD, SIMD和MIMD。

我们现在来看看并行计算内存架构。

基于可以同时处理的指令和数据的数量, 计算机系统被分为四类。

一, 单指令单数据, SISD。

二, 单指令多数据, SIMD。

三, 多指令单数据, MISD。

四, 多指令多数据, MIMD。

这种分类被称为Flynn的分类法。

让我们明白SISD是什么。

SISD计算系统是一个单处理器。

它执行在单个数据流上操作的单个指令。

在SISD中, 依次处理机器指令。

在一个时钟周期中, CPU执行一次, 取出的操作。 CPU从被称为寄存器的存储器区域读取数据和指令。

二, 解码。 CPU解码指令。

三, 执行。该指令是对数据进行的。操作结果存储在另一个寄存器中。

一旦执行阶段完成, CPU将自己设置为开始另一个CPU周期。

这就是SISD架构架构的工作原理。

在这些类型的计算机上运行的算法是连续的或串行的。

因为它们不包含任何并行性。

SISD计算机的示例是具有单个CPU的硬件系统。

这些架构的主要元素, 也称为冯·诺依曼(Von Neumann)架构, 如图所示。

一, 中央存储单元。这用于存储指令和程序数据。

二, CPU。这用于从存储器单元获取指令和/或数据, 该指令和/或数据对指令进行解码并依次执行它们。

三, I / O系统。这是指程序的输入数据和输出数据。

传统的单处理器计算机被分类为SISD系统。

该图具体显示了在获取, 解码和执行阶段使用CPU的哪个区域。

现在我们来看看MISD是什么。

在这个模型中, 在处理器中, 每个都有自己的控制单元, 共享一个内存单元。

并且每个时钟周期, 从存储器接收的数据被所有处理器同时处理。

每个都与从其控制单元收到的指令相矛盾。

在这种情况下, 通过在同一条数据上执行多个操作来获得并行性, 指令级并行性。

在这些架构中可以有效解决的问题类型相当特别。

如关于数据加密的那些。

为此, 电脑MISD在商业领域没有找到空间。

MISD电脑比实际配置更多是一种智力锻炼。

这就是MISD架构方案的外观。

接下来我们来看一下SIMD。

SIMD计算机由n个相同的处理器组成, 每个处理器都有自己的本地存储器, 可以存储数据。

所有处理器都可以在单个指令流的控制下工作。

除此之外, 还有n个数据流。

一个为每个处理器。

处理器在每个步骤上同时工作并执行相同的指令, 但是在不同的数据元素上。

这是数据级并行性的一个例子。

SIMD架构比MISD架构更加通用。

涵盖广泛应用的许多问题可以通过SIMD计算机上的并行算法来解决。

另一个有趣的特征是这些计算机的算法相对容易设计, 分析和实现。

限制是, 只有可以分为多个子问题的问题, 这些问题都是相同的, 每个问题将通过同一组指令同时解决。

可以使用SIMD电脑进行寻址。

用超级计算机开发, 根据这个标准, 我们必须提到连接机, 1985思想机。

一个NPP, 从1983年是NASA。

正如我们将在第六部分中看到的那样, GPU编程与python, 现代图形处理器单元的Athene或GPU, 搭配许多SIMD嵌入式单元, 已经导致了更广泛地使用这种计算机的典范。

我们现在开始了解MIMD是什么。

根据Flynn的分类, 这类并行计算机是最通用, 更强大的类。

这里有终端处理器和指令流, 以及n个数据流。

每个处理器都有自己的控制单元和本地存储器。这使得MIMD架构比SIMD中使用的架构更具计算能力。

每个处理器在其自己的控制单元发出的指令流的控制下操作。

因此, 处理器可以在不同的数据上运行在不同的程序中。

解决不同的子问题, 可以成为一个更大问题的一部分。

在MIMD中, 通过线程和/或进程的并行级别来实现架构。

这也意味着处理器通常异步运行。该类中的计算机用于解决SIMD模型不需要常规结构的问题。

如今, 这种架构应用于许多PC, 超级计算机和计算机网络。

但是, 有一个你需要考虑的柜台。异步算法难以设计, 分析和实现。大。

所以现在我们知道并行计算内存架构如何工作。

在下一个视频中, 我们将看看内存组织。


本课程视频字幕免费下载地址: Python 并行编程教程

猜你喜欢

转载自blog.csdn.net/lyndacn/article/details/80878885