自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(10)
  • 收藏
  • 关注

原创 MPI学习笔记:进程组与通信域

进程组与通信域进程组进程组是通信域的重要组成部分,一个进程组是一组不同进程的有序集合。同一进程可以属于不同的进程组,编号也不一定相同。在这里练习了进程组管理中的常用调用函数。使用不同函数定义了不同的进程组。在之前的MPI学习中一直使用的通信域MPI_COMM_WORLD所对应的进程组就是全体进程的集合。可以直接对MPI_COMM_WORLD通信域执行MPI_Comm_group来获得包含全体...

2018-11-21 19:56:11 1874

原创 MPI学习笔记:MPI_Type_vector与打包解包

MPI学习笔记:MPI_Type_vector与打包解包用两种方式实现了进程间三维矩阵的通信。MPI_Type_vector没什么好说的。而关于打包解包操作,虽然会占用额外的内存,但是在某些情况下还是比较方便的。在这里,我使用两层循环来将一个三维矩阵打包到一个连续的缓冲区并发送,接受进程接收后将接收缓冲区中的数据解包到自身的矩阵中。在使用打包解包操作时需要注意C语言中多维数组按行优先存储,而...

2018-11-20 17:20:05 4098

原创 MPI学习笔记:MPI_Type_struct与MPI_Type_contigouos

MPI学习笔记:MPI_Type_struct与MPI_Type_contigouos关于MPI中的派生数据类型,比较难理解,尤其是在没有太多编程基础的情况下。需要对类型图,跨度等概念有一定的了解。这些在书上都有较为详细的介绍。在下面的测试代码中,定义了一个新的数据类型,该数据类型由3个整数型,4个双精度浮点型和5个字符型构成。数据类型的跨度为56个字节。并将该数据类型重复十次构成新的数据类型...

2018-11-20 17:07:10 4745 1

原创 学习笔记:MPI组通信全互换ALLTOALL

MPI_Alltoall在使用MPI_Alltoall时,每一个进程都会向任意一个进程发送消息,每一个进程也都会接收到任意一个进程的消息。每个进程的接收缓冲区和发送缓冲区都是一个分为若干个数据块的数组。MPI_Alltoall的具体操作是:将进程i的发送缓冲区中的第j块数据发送给进程j,进程j将接收到的来自进程i的数据块放在自身接收缓冲区的第i块位置。MPI_Alltoall与MPI_All...

2018-10-28 21:04:34 7619 1

原创 学习笔记:MPI组通信的散发与组收集

散发在MPI组通信中,散发操作有两个函数,分别是MPI_Scatter与MPI_Scatterv。分别与之前所说的MPI_Gather,MPI_Gatherv为互逆操作。MPI_Scatter使用MPI_Scatter函数可以将root进程的发送缓冲区中的数据顺序地分发给各个进程(自己的接收缓冲区也会接收到)。调用方式为:MPI_Scatter(sendbuf,sendcount,sendt...

2018-10-26 21:49:13 998

原创 学习笔记:MPI组通信收集操作MPIBcast,MPIGather与MPIGatherv

学习了MPI组通信的概念以及三个组通信函数,在这里写了一些测试代码。广播MPIBcast,收集MPIGather这两个函数不难理解。重点在于更灵活的MPIGatherv函数,使用起来比较麻烦,但显得很有逼格。MPIGatherv函数可以从不同的进程接收不同数量的数据,所以需要定义一个长度为进程数目的数组,指明从不同进程中收集不同的数据数目。除此之外,还为每一个接收消息在接收缓冲区的位置提 供了一...

2018-10-24 22:29:05 1567

原创 Centos7下的深度学习环境配置

最近需要给一台服务器配置深度学习环境,依稀记得一年多之前配置tensorflowGPU版本时踩过的那些坑。也不知道现在的版本是不是变得容易配置了,在实验室的电脑上测试一下(Centos7,还有一个1G显存的小显卡,倒是适合用来练习装环境)。Anaconda配置python环境并安装tensorflowAnaconda用起来还是比较方便的,我本身有时也会写一些生物信息学方面的python脚本,用...

2018-10-23 11:25:04 997

原创 学习笔记:MPI非阻塞通信

学习笔记-MPI非阻塞通信非阻塞通信主要用于计算和通信的重叠。在非阻塞通信中,同样有之前提到的四种通信模式,其效果是将非阻塞通信的基本特征和具体的通信模式相结合后的综合体现。非阻塞通信模式发送接收标准MPI_IsendMPI_Irecv缓存MPI_IbsendMPI_Irecv同步MPI_IssendMPI_Irecv就绪MPI_Irse...

2018-10-19 17:48:25 2097

原创 学习笔记:矩阵乘的MPI实现

学习笔记-矩阵乘的MPI实现目前还是萌新,看了两天书,自己硬着头皮写出来了。主要思想是书中介绍的,主进程将矩阵A的各行依此发送给从进程,从进程计算该行与矩阵B的相乘结果,并向主进程发送这一结果。#include<stdio.h>#include"mpi.h"#define A_ROW 500#define A_CLO_B_ROW 600#define B_CLO 700

2018-10-17 10:10:50 402

原创 学习笔记:MPI的四种通信模式

学习笔记-MPI的四种通信模式MPI共有四种通信模式。主要根据以下不同的情况来区分:是否需要对发送的数据进行缓存?是否只有当接收调用执行后才可以执行发送操作?什么时候发送调用可以正确返回?发送调用正确返回是否意味着已经发送完成?(发送缓冲区是否已经可用?/数据是否已经到达接收缓冲区?)标准通信模式MPI自身决定是否对发送数据进行缓存。若缓存发送数据,则发送调用的正确返回不依赖于...

2018-10-17 09:17:11 7782

空空如也

空空如也

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

TA关注的人

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