返回列表 回复 发帖

Can MPI be used to program multicore systems

From: MPICH2 User’s Guide (Version 1.0.5p4)
Q: Can MPI be used to program multicore systems?

A: There are two common ways to use MPI with multicore processors or multiprocessor nodes:
Use one MPI process per core (here, a core is defined as a program counter and some set of arithmetic, logic, and load/store units).

Use one MPI process per node (here, a node is defined as a collection of cores that share a single address space). Use threads or compiler-provided
parallelism to exploit the multiple cores. OpenMP may be used with MPI; the loop-level parallelism of OpenMP may be used with any implementation
of MPI (you do not need an MPI that supports MPI THREAD MULTIPLE when threads are used only for computational tasks). This is sometimes called the hybrid programming model.

[ 本帖最后由 yang 于 2007-8-12 20:57 编辑 ]

MPI能用于多核系统的编程么?

问:MPI能用于多核系统的编程么?

答:通常有两种方式可以将MPI用于多核处理器或者具有多个处理器的节点上:
一个MPI进程对应一个核(一个核被定义为一个程序计数器以及一套算术、逻辑、存取单元);
一个MPI进程对应一个节点(一个节点被定义为一组共享单个地址空间的核)。通过线程或者编译器提供的并行化来利用多核。
OpenMP可以结合MPI;OpenMP提供循环体级别的并行,可以同MPI进行任意整合(当线程只用于计算任务的时候,没有必要用支持多线程(MPI_THREAD_MULTIPLE)的MPI)。这就是我们有时叫的混合编程模型。

^_^

个人感觉Openmp用起来比较简单,很少涉及到消息传递,那不是它的优势所在!MPI有些繁,一传递消息 就有点晕了。
MPI和OpenMP是互补的,MPI在多个进程间(包括单节点和多节点)的消息传递是OpenMP无法代替的,OpenMP提供了一种自动多线程的实现。
针对多核的单节点,可以采用MPI(多进程),或者OpenMP(多线程)。

个人拙见,

在多核系统用mpich2运行多个计算任务

请问各位高手,在多核的cluster下面,用mpich2来运行多个任务,可行吗?
我遇到一个i问题:运行mpdboot命令的时候,它首先会默认退出前一次运行时boot起来的节点名,而如果这些节点下面正好有正在运行的任务,那么就会被终止掉。因此而无法在另一个任务还没有结束的情况下再次运行mpdboot来投递任务。

不知是否有办法解决??
我就像冬天的一把火,把楼主的好贴用力地燃烧起来,让他顶得更高!


















同事的放假一天就上了QQ同城聊天室找那个婷婷网婷婷基地婷婷激情网,又给逮到一个MM,真是羡煞旁人!
瞎逛,顺便帮你顶下!

















总是习惯在有事的时候找你,却忘记你在爱咯聊天室里面视频聊天,总是在婷婷里面找到你**聊天后的记录!
返回列表