原地址:

https://research.computing.yale.edu/sites/default/files/files/mpi4py.pdf

=============================================

说明:

本文只摘录了部分因为比较重点的部分内容,如要查阅全部请关注原地址:

https://research.computing.yale.edu/sites/default/files/files/mpi4py.pdf

感觉效果比较好的就是下面的对通信的集合操作的图解,刚一看比较懵,细一看发现还比较形象。

=====================================================

示例代码:

import numpy as np
from mpi4py import MPI def rbind(comm, x):
return np.vstack(comm.allgather(x)) comm = MPI.COMM_WORLD x = np.arange(4, dtype=np.int) * comm.Get_rank()
a = rbind(comm, x) print(a)
import numpy as np
from mpi4py import MPI def rbind2(comm, x):
size = comm.Get_size()
m = np.zeros((size, len(x)), dtype=np.int)
comm.Allgather([x, MPI.INT], [m, MPI.INT])
return m comm = MPI.COMM_WORLD x = np.arange(4, dtype=np.int) * comm.Get_rank()
a = rbind2(comm, x) print(a)
import numpy as np
import math
from mpi4py import MPI comm = MPI.COMM_WORLD
rank = comm.Get_rank()
size = comm.Get_size() x = range(20)
m = int(math.ceil(float(len(x)) / size))
x_chunk = x[rank*m:(rank+1)*m]
r_chunk = map(math.sqrt, x_chunk)
r = comm.allreduce(list(r_chunk)) if rank == 0:
print(len(r), r)

【转载】 Parallel Computing in Python using mpi4py的更多相关文章

  1. Introduction to Parallel Computing

    Copied From:https://computing.llnl.gov/tutorials/parallel_comp/ Author: Blaise Barney, Lawrence Live ...

  2. General mistakes in parallel computing

    这是2013年写的一篇旧文,放在gegahost.net上面  http://raison.gegahost.net/?p=97 March 11, 2013 General mistakes in ...

  3. Method and apparatus for an atomic operation in a parallel computing environment

    A method and apparatus for a atomic operation is described. A method comprises receiving a first pro ...

  4. 转载八个最佳Python IDE

    八个最佳Python IDE 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs Python是一种功能强大.语言简洁的编程语言.本文向大家推荐8个适合Pyt ...

  5. GPU Accelerated Computing with Python

    https://developer.nvidia.com/how-to-cuda-Python python is one of the fastest growing and most popula ...

  6. 转载 为什么print在Python 3中变成了函数?

    转载自编程派http://codingpy.com/article/why-print-became-a-function-in-python-3/ 原作者:Brett Cannon 原文链接:htt ...

  7. [转载]windows下安装Python虚拟环境virtualenvwrapper-win

    1 前言 由于Python的版本众多,还有Python2和Python3的争论,因此有些软件包或第三方库就容易出现版本不兼容的问题. 通过 virtualenv 这个工具,就可以构建一系列 虚拟的Py ...

  8. [转载]windows下安装Python虚拟环境virtualenv,virtualenvwrapper-win

    1 前言 由于Python的版本众多,还有Python2和Python3的争论,因此有些软件包或第三方库就容易出现版本不兼容的问题. 通过 virtualenv 这个工具,就可以构建一系列 虚拟的Py ...

  9. 转载:爬虫技术浅析(Python)

    http://drops.wooyun.org/tips/3915 0x00 前言 网络爬虫(Web crawler),是一种“自动化浏览网络”的程序,或者说是一种网络机器人.它们被广泛用于互联网搜索 ...

  10. STROME --realtime & online parallel computing

    Data Collections ---> Stream to Channel (as source input) ----> Parallel Computing---> Resu ...

随机推荐

  1. 获取前(后)x月的日期

    package com.jesims.busresume.web; import org.springframework.stereotype.Service; import java.text.Da ...

  2. vc++6.0设置字体

    vc++6.0设置字体 如上图, 在注册表上找到这个位置. 自已设置FontFace和FontSize即可. 计算机\HKEY_CURRENT_USER\Software\Microsoft\Devs ...

  3. CodeFormer一款既能图像修复、还能视频增强去码的AI软件(下载介绍)

    CodeFormer是一款强大的人工智能工具,主要用于图像和视频的修复和增强.它基于深度学习技术,特别是人脸复原模型,可以轻松修复和增强面部图像,提升照片和视频的质量和视觉效果 工作原理 1.通过自动 ...

  4. P8451 题解

    显然,题面明摆着让你写一个可持久化 AC 自动机. 但是从空间来说这是不可能的. 想起做 不强制在线 的可持久化数据结构的一种方法,建立"时光树",具体来说,假若版本 \(x\) ...

  5. 用python处理html代码的转义与还原-转

    本篇博客来源: 用python处理html代码的转义与还原 'tag>aaa</tag> # 转义还原 str_out = html.unescape(str_out) print( ...

  6. ubuntu pyinstaller 的安装以及使用

    使用pyinstaller将Python文件打包成linux可执行文件. 安装pip3: sudo apt-get install python3-pip 更换pip3下载源: 1 sudo su 2 ...

  7. 洛谷P1832

    #include<iostream> #include<utility> using namespace std; typedef long long ll; #define ...

  8. WebGL压缩纹理实践

    0x01 本文将讲述压缩纹理在实际项目中的使用的案例.最近的一个项目是这样的:项目由于涉及到的建筑物特别多,大概有近40栋的建筑,而每一栋建筑物,又有10层楼,每层楼里面又有很多的设备.这就导致我们需 ...

  9. Mysql实现主从复制(一主双从)

    一.环境介绍 LNMP(centos7,mysql5.6) vmware workstation pro配置了3个虚拟机,均安装了LNMP环境: master:  192.168.0.105 slav ...

  10. 题解:P10329 [UESTCPC 2024] Add

    Add 题意 将序列进行一系列的操作,输出对 \(a_{1}\) 的期望值. 题目中操作说的比较明了,再次就不特殊声明了. 思路 据题意所知,每一个 \(n\) 应该对应了一个固定的答案. 于是我就想 ...