[Linux-C++] GCC 编译详解 (未验证)
摘要:Copy from: http://www.cnblogs.com/azraelly/archive/2012/07/07/2580839.html GNU CC(简称为Gcc)是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++和Object C等语言编写的程序。Gcc不仅功能强大,而且可以编译如C、C++、Object C、Java、Fortran、Pascal、Modula-...
阅读全文
[MPI] MPI通信域
摘要:学习资料 《并行算法实践》(陈国良等)4.3.3 通信域 学习笔记 通信域(Communicator)包括进程组(Process Group) 和 通信上下文(Communication Context)等内容,用于描述通信进程间的通信关系。 通信域分为组内通信域和组间通信域,分别用来实现MPI的组内通信(Intra-communication) 和 组间通信(Inter...
阅读全文
[MPI-Learning] MPI消息数据类型
摘要:学习资料 《并行算法实践》(陈国良等)4.3.1 消息数据类型 学习笔记 NOTE:文章只是对预定义数据类型 和派生数据类型 进行了概括的描述,具体内容没有展开描述,还需要查看相关书籍。 每个MPI消息都有相应的数据类型,MPI通过引入消息数据类型来解决消息传递过程中的异构性问题以及数据不连续问题。MPI的消息数据类型可以分为两种: 预定义数据类型 和 派...
阅读全文
[MPI-Learning] MPI程序求 PI 值
摘要:学习资料 《MPI并行程序设计》(都志辉) 13.10节 学习笔记 程序例子见博客: http://applesun0757.blog.163.com/blog/static/1873741922012924103842730/ 计算公式推导:
阅读全文
[MPI] 具有不连续数据发送的MPI程序设计
摘要:学习资料 《高性能计算之并行编程技术 -- MPI并行程序设计》(都志辉) 学习笔记 MPI除了可以发送或接收连续的数据之外, 还可以处理不连续的数据, 其基本方法有两种,一是允许用户自定义新的数据类型(又称为派生数据类型); 二是数据的打包与解包,即在发送方将不连续的数据打包到连续的区域,然后发送出去, 在接收方将打包后的连续数据解包到不连续的存储空间。 新数据类型定义 ...
阅读全文
[MPI] 用户自定义归约操作
摘要:学习资料 《MPI并行程序设计》(都志辉) 13.17节 学习笔记 int MPI_Op_create(MPI_User_function *function, int commute, MPI_Op *op) function 用户自定义的函数(函数) commute 可交换则为true,否则为 false NOTE: 这里 可交换定义? 运算的可交换? op ...
阅读全文
[Linux-C++] Make 的使用和Makefile的编写
摘要:学习资料 《Linux C 编程 从初学到精通》 学习笔记 1、什么是make 2、Makefile书写规则 Makefie的书写规则包含两个部分:依赖关系, 生成目标的方法。 最终目标。 Makefile包含内容:显示规则、隐式规则、变量定义、文件指示、注释。 > 显示规则,说明如何生成一个或多个目标。这需要由Makefile的书写者显示指...
阅读全文
[MPI] MPI 组通信 -- 扫描
摘要:学习资料 《MPI并行程序设计》(都志辉) 学习笔记 可以将扫描看作是一种特殊的归约,即每一个进程都对排在它前面的进程进行归约操作。 MPI_SCAN调用的结果是,对于每一个进程 i ,它对进程0,...,i的发送缓冲区的数据进行指定的归约操作, 结果存入进程i的接收缓冲区。 函数: int MPI_Scan(void* sendbuf, void* recvbu...
阅读全文
[MPI] MPI组通信 -- 组归约
摘要:学习资料 《MPI并行程序设计》(都志辉) 学习笔记 函数: MPI_ALLREDUCE 只要理解了归约操作,就可以很容易地掌握组归约操作。组归约相当于组中每一个进程都作为root分别进行了一次归约操作。即归约的结果不只是某一个进程拥有,而是所有的进程都拥有。它在某种程度上和组收集与收集的关系很相似。 //这里不用指定root 进程 int MPI_Allredu...
阅读全文
[MPI] MPI组通信 -- 归约
摘要:学习资料: 《MPI并行程序设计实例教程》(张武生) 学习笔记: 该操作对组内所有进程的数据进行某种归约后,将结果保存在“根”进程中。假定根进程为1号进程,则下列代码: int cnt=1; int dst=1; //sbuf: 发送缓冲区 //rbuf: 接收缓冲区 ...
阅读全文
[MPI] MPI组通信 -- 同步
摘要:学习资料 《MPI并行程序设计》(都志辉) 学习笔记 同步函数:MPI_Barrier(MPI_Comm comm) 函数说明:MPI_BARRIER阻塞所有的调用者直到所有的成员都调用了它, 各个进程中这个调用才可以返回。
阅读全文
[MPI] MPI 组通信 -- 全互换 MPI_Alltoall
摘要:学习资料 《高性能计算之并行编程技术 -- MPI并行程序设计》(都志辉 等) 学习笔记 函数 int MPI_Alltoall (void* sendbuf, int sendcount , MPI_Datatype sendtype, void* recvbuf, int recvcount, MPI_Datatype recvtype, ...
阅读全文
[MPI] MPI 组通信 -- 组收集
摘要:学习资料 《高性能计算之并行编程技术 -- MPI并行程序设计》 (都志辉) 学习笔记 MPI_GATHER是将数据收集到ROOT进程,而MPI_ALLGATHER相当于每一个进程都作为ROOT执行了一次MPI_GATHER调用, 即每一个进程都收集到了其他所有进程的数据。 函数: int MPI_Allgather(void* sendbuf, int se...
阅读全文
[MPI] MPI 组通信 -- 散发
摘要:学习资料 《高性能计算之并行编程技术 -- MPI并行程序设计》 学习笔记 函数 MPI_SCATTER MPI_SCATTER 是一对多的组通信调用,但是和广播不同,ROOT向各个进程发送的数据可以是不同的。 MPI_SCATTER 和 MPI_GATHER 的效果正好相反,两者互为逆操作。 学习感想
阅读全文