mpi编程
ztono
某大厂后端工程师
展开
-
MPI实现A-star算法
MPI实现A-star算法(六角格地图)A-star算法A星算法这里就不再赘述了,可以参考这篇文章:https://blog.csdn.net/qq_36946274/article/details/81982691六角格六角格的入门可以参考这篇:https://www.cnblogs.com/hoodlum1980/archive/2009/08/10/1542629.html这里...原创 2020-04-12 21:47:06 · 439 阅读 · 1 评论 -
VS2019 + Win10 配置 Intel MPI
WIN10和VS2019安装这里就不多说了MPI安装Win下能支持的MPI并不多,这里我选了性能比较好的IMPI以及其对应的icc。这里下了一个intel parallel studio并根据需要选了最小支持(仅icc和impi)。下载地址链接:https://pan.baidu.com/s/1JS1LVuNM2uxseAJdLSC6Ew提取码:c2z1安装的时候如果选了vs的插件支持,会...原创 2020-03-04 10:19:49 · 3789 阅读 · 0 评论 -
MPI之数据类型
我们知道,比较基本的MPI点对点通信具有无法同时发送不同数据类型(当然前面提到了可以使用MPI_PACKED,但是这样会造成性能的极大损耗),因此MPI提供说明更通用的,混合的非连续通信缓冲区的机制.直到执行(implementation)时再决定数据应该在发送之前打包到连续缓冲中,还是直接从数据存储区收集。这里提供的通用机制允许不需拷贝,而是直接传送各种形式和大小的目标.我们并没有假设MPI库是用原创 2017-11-05 10:37:57 · 3793 阅读 · 0 评论 -
MPI的拓扑(虚拟拓扑和笛卡尔拓扑)
MPI_Graph_create和MPI_Cart_create函数分别用于产生通常(图)的虚拟拓扑和笛卡尔拓扑虚拟拓扑: 虚拟拓扑可以用图来表示,每个进程代表一个点,两点之间的连线代表通信联通,但是注意MPI在任意两个进程之间都可通信,未连接的两点之间不代表无法进行通信。但是虚拟拓扑有个很致命的缺点,就是无法直观的获得进程在拓扑间的信息。 笛卡尔拓扑: 要保证你新建的笛卡尔拓扑的节点数量和你原创 2017-11-04 09:32:08 · 6646 阅读 · 0 评论 -
linux 使用intel mpi进阶(二)
1.跟踪和正确性验证 在你运行mpi程序的时候,可以使用Intel® Trace Analyzer and Collector以及Application Performance Snapshot来跟踪和收集数据。 High-Level Performance Analysis: intel提供了一个轻量级的analysis,就是上面说的aps,下面是一个使用示例://启动相关程序$ sour原创 2017-11-12 20:08:29 · 1076 阅读 · 0 评论 -
关于MPI补充之通信篇
注:这篇博客是针对我以前的一篇博客的补充,下面是以前那篇博客的地址: http://blog.csdn.net/qq_35571432/article/details/78368797MPI 类型匹配:我们注意到在MPI_Send,MPI_Recv等中都有一个参数datatype,用来匹配参数类型,比如MPI_CHAR只能匹配MPI_CHAR,但是有一个参数可以匹配所有类型,那就是MPI_P原创 2017-11-01 23:12:58 · 2704 阅读 · 0 评论 -
MPI入门
1.什么是MPIMPI是一个跨语言的通讯协议,用于编写并行计算机。支持点对点和广播。MPI是一个信息传递应用程序接口,包括协议和和语义说明,他们指明其如何在各种实现中发挥其特性。MPI的目标是高性能,大规模性,和可移植性。MPI在今天仍为高性能计算的主要模型。 主要的MPI-1模型不包括共享内存概念,MPI-2只有有限的分布共享内存概念。 但是MPI程序经常在共享内存的机器上运行。在MPI模型周边原创 2017-10-27 20:24:39 · 19687 阅读 · 0 评论 -
linux 下使用intel mpi 进阶
1.统计与分析 设置I_MPI_DEBUG变量,变量的默认值为0,你可以设置0-1000间的值,值越高,获得的debug信息越多,下面是一个示例:$ mpirun -genv I_MPI_DEBUG=2 -n 2 ./testc [0] MPI startup(): Multi-threaded optimized library [0] MPI startup(): shm data tra原创 2017-11-11 14:43:43 · 1871 阅读 · 0 评论 -
linux下使用intel mpi(3)
Dubug选项 intel mpi支持以下debugger:GDB*, TotalView*, and Allinea* DDT 这里仅介绍GDB,The GNU* Project Debugger 启动gdb:$ mpirun -gdb -n 4 ./testc你也可以为一个正在运行的mpi程序添加debugger$ mpirun -n 4 -gdba <pid>原创 2017-11-11 13:19:58 · 736 阅读 · 0 评论 -
linux下intel使用intel mpi(2)
1.任务调度支持 当使用Altair* PBS Pro*, TORQUE*, and OpenPBS*时:$PBS_ENVIRONMENT 设置为值 PBS_BATCH或者 PBS_INTERACTIVE 参考代码如下:#PBS –l nodes=4:ppn=4 #PBS –q queue_name cd $PBS_O_WORKDIR mpirun –n 16 ./myprog原创 2017-11-11 10:24:44 · 6226 阅读 · 0 评论 -
linux下使用intel mpi
1.下载安装,这个大家都会,就不说了 2.启动 运行你安装目录下的intel64/bin/mpivars.sh脚本(配置mpi environment) 打开host文件:cat ./hosts 并向host文件中写入所有mpi节点名称 下面是intel提供的一个例子:$ cat ./hosts # this line is ignored clusternode1 clu原创 2017-11-10 16:26:02 · 10264 阅读 · 1 评论