自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

自可乐的博客

人生如此自可乐,岂必局束为人鞿。

  • 博客(28)
  • 资源 (5)
  • 收藏
  • 关注

原创 mpi4py 中的收集操作

本文从本人简书博客同步过来在上一篇中我们介绍了 mpi4py 中的发散操作方法,下面我们将介绍收集操作。收集操作是发散操作的逆操作,根进程从其它进程收集不同的消息依次放入自己的接收缓冲区内。对组间通信子上的收集操作,其方法调用必须包含组间通信子内的所有进程,且其中根进程必须属于某个组。根进程的 root 参数需使用 MPI.ROOT,与根进程处在同一组的其它进程的 root 参数需设置...

2018-03-31 23:49:55 1234

原创 mpi4py 中的发散操作

在上一篇中我们介绍了 mpi4py 中的广播操作方法,下面将介绍发散操作。对组内通信子对象,发散操作从组内的根进程分别向组内进程散发不同的消息。对组间通信子对象,发散操作的函数调用应该包含组间通信子内的所有进程,且其中必须有一个组定义了根进程,数据将从根进程散发给根所处组之外组的所有进程。根进程的 root 参数使用 MPI.ROOT,根进程所处组内的其它进程 root 参数为 MPI.P...

2018-03-30 20:46:19 1030

原创 mpi4py 中的广播操作

本文从本人简书博客同步过来在上一篇中我们对集合通信做了一个非常简要的介绍,后面我们将逐步介绍 mpi4py 中提供的各个集合通信操作方法,下面我们从广播操作开始。对组内通信子上的广播操作而言, 组内被标记为根的进程向组内所有其它进程发送消息。对于组间通信子上的广播操作,其作用是以某个组内的某进程为根,向另外组的其它所有进程广播消息。参与广播操作的组间通信子内包含的所有进程都要参与执行 ...

2018-03-30 20:44:34 793

原创 mpi4py 中的集合通信

本文从本人简书博客同步过来在上一篇中我们简要总结了 mpi4py 中的组与通信子的基本概念和用途,下面我们将进行集合通信的介绍。集合通信的主要功能是对一组进程进行通信、同步、计算等。集合通信根据信息的传递方向可大致分为两大类:单向的集合操作和双向的集合操作。对于具有根进程的集合操作,如 Bcast,Scatter,Gather 等,传输通过根进程的一个参数来定义为单向,此时对包含了根进...

2018-03-29 21:19:54 511

原创 mpi4py 中的组与通信子小结

本文从本人简书博客同步过来在上一篇中我们介绍了 mpi4py 中的组间通信方法, 下面我们将对组及通信子做一个简短的小结。组在 MPI 环境中指的是一组进程标识所组成的有效集合,而通信子定义了封装 MPI 通信的基本模型。组对象存在于通信子环境内,为通信子定义和描述通信参与者(进程),并提供表示和管理进程的若干功能。组与通信子对象都可在运行时刻动态创建和删除。某进程可同时属于一个以上的组/...

2018-03-29 21:18:13 398

原创 mpi4py 中的组间通信

本文从本人简书博客同步过来在上一篇中我们介绍了 mpi4py 中的通信子管理 API, 下面我们将介绍组间通信相关方法。组间通信子对象在某些基于组内通信子对象的操作/访问函数中也可使用。访问函数MPI.Comm.Is_inter(self)判断当前通信子是否是组间通信子。MPI.Intercomm.Get_remote_size(self)返回远程组包含的进程数...

2018-03-29 21:16:21 680 1

原创 mpi4py 中的通信子管理 API

本文从本人简书博客同步过来在上一篇中我们介绍了 mpi4py 中的组管理 API, 下面我们将介绍通信子管理 API。访问通信子信息的操作属于本地操作,即其不需要在整个通信子范围内进行全局通信,但创建通信子的操作必须使用全局信息,因此要发生进程间通信。通信子的创建和取消MPI.Comm.Create(self, Group group)在已有通信子 comm 环境下,利用...

2018-03-29 21:14:42 334

原创 mpi4py 中的组管理 API

本文从本人简书博客同步过来在上一篇中我们介绍了 mpi4py 中组与通信子的基本概念,下面我们将介绍 mpi4py 中的组管理 API。组的构建和取消 APIMPI.Comm.Get_group(self)返回与通信子 comm 相关的组。MPI.Group.Dup(self)复制当前组而产生一个新的组。MPI.Group.Free(self)释放组对象。...

2018-03-29 21:12:42 352

原创 mpi4py 中的组与通信子

本文从本人简书博客同步过来在上一篇中我们简要总结了 mpi4py 中的点到点通信,下面我们将介绍组与通信子的基本概念。为了理解 MPI 中的组与通信子的概念,我们先来了解以下一些术语的含义。组(group)所谓组,在 MPI 环境里就是指一组进程标识所组成的有序集合。组中的每个进程都有一个唯一的 rank 加以标识。组对象存在于通信子环境内,为通信子定义和描述通信参与者(进程)...

2018-03-29 21:10:36 641

原创 mpi4py 点到点通信总结

本文从本人简书博客同步过来在上一篇中我们介绍了 mpi4py 中组合发送接收通信方法,至此我们就对 mpi4py 中提供的各种点到点通信方法都做了一个简略的介绍,并给出了简短的使用例程。下面我们对点到点通信做一个小结。通过前面的介绍可知,点到点通信有各种不同的模式,可分为阻塞通信,非重复非阻塞通信,可重复非阻塞通信,其中每一类还可分为标准、缓冲、就绪和同步模式。要理解各种模式通信的行为,关...

2018-03-26 21:50:37 493

原创 mpi4py 点到点通信之组合发送接收

本文从本人简书博客同步过来在上一篇中我们介绍了 mpi4py 中可重复非阻塞同步通信模式,下面我们将介绍组合发送接收操作。组合发送接收操作比较适合接力通信的场合。在使用组合发送接收的时候要注意合理安排相关进程之间发送/接收操作的顺序,以避免死锁。组合通信的发送操作,可被任何接收操作匹配,反之,组合通信的接收操作也可匹配任何其它类型的发送动作。组合发送接收通信方法(MPI.Comm ...

2018-03-26 21:48:30 662

原创 mpi4py 点到点通信之可重复的非阻塞同步通信

本文从本人简书博客同步过来在上一篇中我们介绍了 mpi4py 中可重复非阻塞就绪通信模式,下面我们将介绍可重复非阻塞同步通信。可重复非阻塞的同步通信模式是与阻塞的同步通信模式相对应的,其通信方法(MPI.Comm 类的方法)接口如下:Ssend_init(self, buf, int dest, int tag=0)Recv_init(self, buf, int source=AN...

2018-03-26 21:46:31 250

原创 mpi4py 点到点通信之可重复的非阻塞就绪通信

本文从本人简书博客同步过来在上一篇中我们介绍了 mpi4py 中可重复非阻塞缓冲通信模式,下面我们将介绍可重复非阻塞就绪通信。可重复非阻塞的就绪通信模式是与阻塞的就绪通信模式相对应的,其通信方法(MPI.Comm 类的方法)接口如下:Rsend_init(self, buf, int dest, int tag=0)Recv_init(self, buf, int source=AN...

2018-03-26 21:44:45 214

原创 mpi4py 点到点通信之可重复的非阻塞缓冲通信

本文从本人简书博客同步过来在上一篇中我们介绍了 mpi4py 中可重复非阻塞标准通信模式,下面我们将介绍可重复非阻塞缓冲通信。可重复非阻塞的缓冲通信模式是与阻塞的缓冲通信模式相对应的,其通信方法(MPI.Comm 类的方法)接口如下:Bsend_init(self, buf, int dest, int tag=0)Recv_init(self, buf, int source=AN...

2018-03-26 21:43:01 297

原创 mpi4py 点到点通信之可重复的非阻塞标准通信

本文从本人简书博客同步过来在上一篇中我们介绍了 mpi4py 中非重复非阻塞同步通信模式,下面我们将介绍可重复的非阻塞通信,我们先从可重复的非阻塞标准通信开始。在实际的计算环境中,经常会在一个内部循环中重复使用相同的数据结构来传递不同的数据,此时将数据结构与发送/接收动作绑定可提高程序的效率,这可以通过可重复的非阻塞通信实现。重复的通信需借助通信请求对象 MPI.Prequest(MPI....

2018-03-26 21:41:06 389

原创 mpi4py 点到点通信之非重复非阻塞的同步通信模式

本文从本人简书博客同步过来在上一篇中我们介绍了 mpi4py 中非重复非阻塞就绪通信模式,下面我们将介绍非重复非阻塞同步通信。非重复非阻塞的同步通信模式是与阻塞的同步通信模式相对应的,其通信方法(MPI.Comm 类的方法)接口有一个前缀修饰 I/i,如下:issend(self, obj, int dest, int tag=0)irecv(self, buf=None, int ...

2018-03-26 21:39:04 345

原创 mpi4py 点到点通信之非重复非阻塞的就绪通信模式

本文从本人简书博客同步过来在上一篇中我们介绍了 mpi4py 中非重复非阻塞缓冲通信模式,下面我们将介绍非重复非阻塞就绪通信。非重复非阻塞的就绪通信模式是与阻塞的就绪通信模式相对应的,其通信方法(MPI.Comm 类的方法)接口有一个前缀修饰 I/i,注意:在就绪通信模式中只有只有以大写字母开头的 Irsend,没有以小写字母开头的 irsend。Irsend(self, buf, i...

2018-03-26 21:37:14 226

原创 mpi4py 点到点通信之非重复非阻塞的缓冲通信模式

本文从本人简书博客同步过来在上一篇我们介绍了 mpi4py 中非重复非阻塞标准通信模式,下面我们将介绍非重复非阻塞缓冲通信。非重复非阻塞的缓冲通信模式是与阻塞的缓冲通信模式相对应的,其通信方法(MPI.Comm 类的方法)接口有一个前缀修饰 I/i,如下:ibsend(self, obj, int dest, int tag=0)irecv(self, buf=None, int s...

2018-03-26 21:35:21 298 1

原创 mpi4py 点到点通信之非重复非阻塞的标准通信模式

本文从本人简书博客同步过来在上一篇中我们对非阻塞通信做了一个非常概要的介绍,下面我们将依次介绍非重复的非阻塞通信的四种通信模式,并给出相应的例程。让我们首先从非重复的标准通信开始。非重复非阻塞的标准通信模式是与阻塞的标准通信模式相对应的,其通信方法(MPI.Comm 类的方法)接口有一个前缀修饰 I/i,如下:isend(self, obj, int dest, int tag=0)...

2018-03-26 21:28:56 378

原创 mpi4py 点到点通信之非阻塞通信

本文从本人简书博客同步过来在上一篇中我们介绍了 mpi4py 中同步阻塞通信模式,下面我们将进入到对非阻塞通信模式的介绍。非阻塞通信将通信和计算进行重叠,在一些情况下可以大大改善性能。特别是在那些具有独立通信控制硬件的系统上,将更能发挥其优势。非阻塞通信需要通过发送操作的 start 函数启动发送,但并不要求操作立即执行和结束,启动发送操作的 start 调用在 MPI 环境从发送数据...

2018-03-25 13:24:54 527

原创 mpi4py 点到点通信之同步阻塞通信模式

本文从本人简书博客同步过来在上一篇中我们介绍了 mpi4py 中就绪阻塞通信模式,下面我们将介绍同步阻塞通信模式。在同步通信模式下,不论接收端是否启动了接收动作,发送端都可在任何时候启动发送动作,但发送端需等待接受端的接收动作发起并开始接收数据之后才可能结束,即发送动作的结束不仅意味着发送缓冲区已经可以用于其它用途,而且还表示接收端也执行了一定程度的接收工作。对阻塞的同步通信模式而言,它实...

2018-03-25 13:22:54 481

原创 mpi4py 点到点通信之就绪阻塞通信模式

本文从本人简书博客同步过来在上一篇中我们介绍 mpi4py 中缓冲阻塞通信模式,下面我们将介绍就绪阻塞通信模式。在就绪通信模式下,仅当对方的接收操作启动并准备就绪时,才可发送数据,否则可能导致错误或无法预知的结果。从语义上讲,就绪发送方式与同步和标准发送完全一致,这个动作仅仅是向 MPI 环境传递了一个额外的信息,告诉它对方的接收动作已经“就绪”,不必顾虑,而可直接了当执行相应的发送操作。...

2018-03-25 13:20:51 352

原创 mpi4py 点到点通信之缓冲阻塞通信模式

本文从本人简书博客同步过来在上一篇中我们介绍了 mpi4py 中标准阻塞通信模式,下面我们将介绍缓冲阻塞通信模式。缓冲通信模式主要用于解开阻塞通信的发送和接收之间的耦合。有了缓冲机制,即使在接受端没有启动相应的接收的情况下,在完成其消息数据到缓冲区的转移后发送端的阻塞发送函数也可返回。其实标准通信模式中也存在缓冲机制,它使用的是 MPI 环境所提供的数据缓冲区,是有一定大小的。使用缓冲通信...

2018-03-25 13:16:52 933

原创 mpi4py 点到点通信之标准阻塞通信模式

本文从本人简书博客同步过来在上一篇中概要地介绍了 mpi4py 中的点到点通信方法及其消息传递的流程,下面我们介绍 mpi4py 中标准的阻塞通信模式。阻塞通信是指消息发送方的 send 调用需要接收方的 recv 调用的配合才可完成。即在发送的消息信封和数据被安全地“保存”起来之前,send 函数的调用不会返回。标准模式的阻塞 send 调用要求有接收进程的 recv 调用配合。下面...

2018-03-25 11:55:20 518

原创 mpi4py 点到点通信

本文从本人简书博客同步过来在上一篇中我们已经通过几个简单的例子展示了使用 mpi4py 进行 Python 的并行编程方法,大家可以看到使用 mpi4py 进行 MPI 并行编程是比较简单和方便的,但是要用好 mpi4py,写出实用的功能强大的 MPI 并行计算程序,我们还需要对 mpi4py 所提供对各种方法及其用法有更深入的了解。下面我们从最基本的点到点通信开始,详细地介绍 mpi4py ...

2018-03-25 11:49:23 480

原创 mpi4py 快速上手

本文从本人简书博客同步过来在上一篇中我们介绍了如何安装和使用 mpi4py,下面我们以几个简单的例子来展示怎么使用 mpi4py 来进行并行编程,以使读者能够快速地上手使用 mpi4py。这些例子来自 mpi4py 的 Document,有些做了一些适当的改动。点到点通信传递通用的 Python 对象(阻塞方式)这种方式非常简单易用,适用于任何可被 pickle 系列化的 ...

2018-03-25 11:44:40 1192 5

原创 安装和使用 mpi4py

本文从本人简书博客同步过来在上一篇中我们简要介绍了 mpi4py 及其所提供的并行编程功能,本文介绍如何安装和使用 mpi4py。安装依赖要正确地安装和使用 mpi4py,你需要先安装和设置好以下软件:一个 MPI 实现软件,最好能支持 MPI-3 标准,并且最好是动态编译的。比较常用的 MPI 实现软件有 OpenMPI,MPICH 等。Python 2.7,Python...

2018-03-25 11:35:41 24871 5

原创 mpi4py 简介

本文从本人简书博客同步过来前言计算机编程语言很多,但是适合高性能数值计算的语言却并不多,在高性能计算的项目中通常会使用到的语言有 Fortran、C、C++ 等,他们是传统的高性能计算机语言,这主要得益于它们的静态编译特性,使得有它们生成的机器代码,在底层上做了很多优化,能够充分发挥硬件的性能,但是这一特性也限制了它们的灵活性和易用性。一些动态的计算机语言在灵活性和易用性方面有着明显的优势...

2018-03-25 11:28:26 3550

李开复建议在校大学生应该读的书

李开复建议在校大学生应该读的书,到图书馆别忘看看。

2010-10-08

ModemComm简单指令发送接收串口编程实例

ModemComm简单指令发送接收串口编程实例,利用MSComm控件编写的串口程序,提供一种简单的操作串口的方法。

2010-09-03

GRE词汇考试频率统计表

GRE词汇考试频率统计表,让你抓住重点,有的放矢,事半功倍的掌握GRE 词汇。

2010-05-11

GRE 2007年10月回忆题

GRE 2007年10月回忆题 ,最大程度接近真题,令你有备无患。

2010-04-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除