MPI
scgillian
这个作者很懒,什么都没留下…
展开
-
MPI矩阵与向量乘法
并行矩阵与向量乘法,为简单起见,这里假设矩阵为n维方阵,向量为n维。进程数为矩阵的维数。按行卷帘存储。这里设n为3。每个进程存储矩阵的一行及向量的一个元素。#include#include "mpi.h"int main(int argc ,char ** argv){ MPI_Init(&argc,&argv); int np,rank; MPI_Status s原创 2012-03-22 09:50:44 · 7299 阅读 · 1 评论 -
MPICH安装后jumpshot未安装的解决方法
虽然MPE在MPICH安装的时候是默认安装的,但是jumpshot默认安装的前提是系统已经安装jdk,太坑爹了,那个install guide上没讲。ubuntu的话直接sudo apt-get install sun-java6-jdk。我是直接重新安装了mpich,记得好像哪看到可以重新配置的,但没找到只能用笨方法了原创 2012-04-14 22:58:37 · 592 阅读 · 0 评论 -
MPI_Extent等函数的使用
MPI_Type_extent - Returns the extent of a datatype返回对应数据类型的长度以下次序输出类型长度为4,8单位是字节#include#include "mpi.h"int main(int argc ,char *argv[]){ MPI_Init(&argc,&argv); int myrank; MPI原创 2012-05-02 18:17:04 · 1169 阅读 · 0 评论 -
mpi矩阵转置
下面程序中MPI_Type_hvector改为MPI_Type_vector 就错了,我以为是这样的,因为这时是用的新类型stype构造ntype。stype为矩阵的一列数据的类型。ntype为整个转置后的矩阵类型。MPI_Type_vector第三个参数stride代表的是number of elements between start of each block (integer) 。原创 2012-05-28 20:55:04 · 4458 阅读 · 2 评论 -
MPI_Gatherv函数的使用
#include "mpi.h"#includeint main(int argc,char **argv){// 每个进程发送100*150矩阵的第rank列的前(100-rank)个数//stride要>=rcounts[i] int gsize; int rank; int *rbuf,*displs,stride; in原创 2012-05-18 16:08:22 · 5477 阅读 · 0 评论 -
MPI parallel IO
using mpi_2上看到的,顺便敲下代码#include "mpi.h"#include#define BUFSIZE 100int main(int argc,char *argv[]){ int i,myrank,buf[BUFSIZE]; char filename[128]; FILE *myfile; MPI_Init(&argc,&argv); MPI_原创 2012-04-08 21:00:41 · 892 阅读 · 0 评论 -
MPI_allreduce如何指定输入缓冲与输出缓冲相同
MPI_allreduce在指定的通信器上执行全局的规约操作如何使输入缓冲与输出缓冲相同,可以在调用的时候使用MPI_IN_PLACE,SENDBUF对应的参数调用时用MPI_IN_PLACE代替若是C语言调用直接用比如MPI_Allreduce(MPI_IN_PLACE,arr,4,MPI_INT,MPI_SUM,MPI_COMM_WORLD)参见http://www.o原创 2013-06-29 11:04:53 · 3921 阅读 · 0 评论