免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 6810 | 回复: 14
打印 上一主题 下一主题

请问单机四核用mpich编译和配置 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-03 02:55 |只看该作者 |倒序浏览
cpu为废龙9550
我想把每个核当成一个节点,
如果9550能自动分配线程就不用把把每个核模拟成节点了。
又一问题:
  mpdrun -n 4 cpi
当我扒开网线的时候,
[root@n0 examples]# n0_50534 (mpd_sockpair 226): connect -2 Name or service not known
n0_50534 (mpd_sockpair 233): connect error with -2 Name or service not known
n0_mpdman_0: mpd_uncaught_except_tb handling:
  socket.error: (111, 'Connection refused')
                  …………

我编译的时候的选项是  --with-device=ch3:nemesis,
如何默认为shared memory而不是sockets阿。

论坛徽章:
0
2 [报告]
发表于 2009-04-03 03:49 |只看该作者
改了编译方式
--with-device=ch3:shm
拔了网线还会
[root@n0 examples]# mpiexec -n 50 ./cpi
mpiexec_n0 (mpiexec 392): no msg recvd from mpd when expecting ack of request


1.2g的内存
mpiexec -n 100 ./cpi
[root@n0 examples]# mpiexec -n 100 ./cpi
Fatal error in MPI_Init: Other MPI error, error stack:
MPIR_Init_thread(294)......: Initialization failed
MPID_Init(94)..............: channel initialization failed
MPIDI_CH3_Init(265)........: Unable to allocate shared memory
MPIDI_CH3I_SHM_Get_mem(170): Out of memoryrank 0 in job 32  n0_48706   caused collective abort of all ranks
  exit status of rank 0: killed by signal 9

内存不够了,n = 100000000;                        /* default # of rectangles */

开到50个进程就要用到交换分区了。

论坛徽章:
0
3 [报告]
发表于 2009-04-03 10:56 |只看该作者

回复 #1 长湾 的帖子

主机资源不是很高呀

论坛徽章:
0
4 [报告]
发表于 2009-04-04 03:08 |只看该作者
mpiexec -n 20 ./cpi
安装文件自带的例子。

为什么每开一条进程就多出一个python2.4进程,每条python进程居然占6.1M的驻留内存。

是不是一定要python来辅助运行?
怎么设置让内存变小一点?

论坛徽章:
0
5 [报告]
发表于 2009-04-04 18:14 |只看该作者
原帖由 长湾 于 2009-4-3 02:55 发表
cpu为废龙9550
我想把每个核当成一个节点,
如果9550能自动分配线程就不用把把每个核模拟成节点了。
又一问题:
  mpdrun -n 4 cpi
当我扒开网线的时候,

我编译的时候的选项是  --with-device=ch3:nem ...


taskset & numactl

你用错方法了. MPI和你没有关系.

论坛徽章:
0
6 [报告]
发表于 2009-04-05 01:22 |只看该作者
原帖由 nntp 于 2009-4-4 18:14 发表


taskset & numactl

你用错方法了. MPI和你没有关系.


我看中mpi的消息传递,自己不想写多线程。不知道我的做法有误没有,麻烦指正。

论坛徽章:
0
7 [报告]
发表于 2009-04-05 01:24 |只看该作者
[root@n0 ~]# mpiexec -n 100 ./cpi
[n0:04278] [[15350,0],0] ORTE_ERROR_LOG: The system limit on number of pipes a process can open was reached in file base/iof_base_setup.c at line 108
[n0:04278] [[15350,0],0] ORTE_ERROR_LOG: The system limit on number of pipes a process can open was reached in file odls_default_module.c at line 203
--------------------------------------------------------------------------
mpiexec was unable to launch the specified application as it encountered an error:

Error: system limit exceeded on number of pipes that can be open
Node: n0

when attempting to start process rank 91.

This can be resolved by either asking the system administrator for that node to
increase the system limit, or by rearranging your processes to place fewer of them
on that node.


挖坑,这个是open mpi

论坛徽章:
0
8 [报告]
发表于 2009-04-11 04:08 |只看该作者
[root@n0 examples]# mpiexec  -n 100 ./ring_c
[n0:05891] [[15427,0],0] ORTE_ERROR_LOG: The system limit on number of pipes a process can open was reached in file base/iof_base_setup.c at line 108
[n0:05891] [[15427,0],0] ORTE_ERROR_LOG: The system limit on number of pipes a process can open was reached in file odls_default_module.c at line 203
[n0:05891] mca_oob_tcp_accept: accept() failed: Too many open files (24).
[n0:05891] mca_oob_tcp_accept: accept() failed: Too many open files (24).
--------------------------------------------------------------------------
Sorry!  You were supposed to get help about:
    orterun:sys-limit-pipe
from the file:
    help-orterun.txt
But I couldn't find any file matching that name.  Sorry!
--------------------------------------------------------------------------
[n0:05891] mca_oob_tcp_accept: accept() failed: Too many open files (24).
[n0:05891] mca_oob_tcp_accept: accept() failed: Too many open files (24).


mark

论坛徽章:
0
9 [报告]
发表于 2009-04-14 17:49 |只看该作者

32位win单核下10位计算pi的时间是4秒不到(今晚不知道怎么搞得,变了7秒了,难道装了个vs8就变成这样?之前的.net是2.0,现在的是3.5,不知道有没有关系呢?),64位rhel5。3单核的时间是41秒。
虚拟机个32位win,跑的时间是14秒,主机rhelcpu自动降频1.1G,就算虚拟机里面的系统100%运行,也不升到2.2G。


[ 本帖最后由 长湾 于 2009-4-14 20:28 编辑 ]

论坛徽章:
0
10 [报告]
发表于 2009-04-14 18:12 |只看该作者

而且win下多进程等待输入时cpu占用为0,而lin下居然四个核都100%,不多于4个时,openmpi有一个核的cpu占用为0,
难道是lin下的进程通讯开销特别大?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP