免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 6813 | 回复: 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
15 [报告]
发表于 2009-04-19 16:11 |只看该作者
原帖由 nntp 于 2009-4-16 03:17 发表


你这个结果完全不正常的,按照这样的逻辑,全天下的HPCC都要改win算了.微软也不会在这领域这么辛苦了.


换个非并行重新编译,
Enter the number of intervals: (0 quits) 1000000000
win2003_32位的是O2,7.73秒左右
rhel_64位的是O3,12秒左右

搞了半天,原来是gcc版本低的原因,不支持 -march=amdfam10。

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

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

论坛徽章:
0
13 [报告]
发表于 2009-04-16 03:17 |只看该作者
原帖由 长湾 于 2009-4-14 17:49 发表

32位win单核下10位计算pi的时间是4秒不到(今晚不知道怎么搞得,变了7秒了,难道装了个vs8就变成这样?之前的.net是2.0,现在的是3.5,不知道有没有关系呢?),64位rhel5。3单核的时间是41秒。
虚拟 ...


你这个结果完全不正常的,按照这样的逻辑,全天下的HPCC都要改win算了.微软也不会在这领域这么辛苦了.

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

难道阿冈大叔用的编译器特别牛?

论坛徽章:
0
11 [报告]
发表于 2009-04-14 20:13 |只看该作者

在win下自己编译了mpich2中的例子,单核10位数要29秒多,四核要7秒多。
安装文件自带的程序居然快了4倍。
两个程序分别单核四核执行结果一样。但单核四核的结果是不同的。

C:\Documents and Settings\Administrator>mpiexec  "C:\Program Files\MPICH2\exampl
es\cpi.exe"
Enter the number of intervals: (0 quits) 1000000000
pi is approximately 3.1415926535899708, Error is 0.0000000000001776
wall clock time = 7.718792
Enter the number of intervals: (0 quits) 1000000000
pi is approximately 3.1415926535899708, Error is 0.0000000000001776
wall clock time = 7.717777
Enter the number of intervals: (0 quits) 0

C:\Documents and Settings\Administrator>mpiexec -n 4 "C:\Program Files\MPICH2\ex
amples\cpi.exe"
Enter the number of intervals: (0 quits) 1000000000
pi is approximately 3.1415926535897682, Error is 0.0000000000000249
wall clock time = 1.967235
Enter the number of intervals: (0 quits) 1000000000
pi is approximately 3.1415926535897682, Error is 0.0000000000000249
wall clock time = 1.954080
Enter the number of intervals: (0 quits) 1000000000
pi is approximately 3.1415926535897682, Error is 0.0000000000000249
wall clock time = 1.954707
C:\Documents and Settings\Administrator>mpiexec -n 4 "C:\Program Files\MPICH2\ex
amples\Release\cpi.exe"
Enter the number of intervals: (0 quits) 1000000000

1000000000
pi is approximately 3.1415926535897682, Error is 0.0000000000000249
wall clock time = 7.417078
Enter the number of intervals: (0 quits) 0

0

C:\Documents and Settings\Administrator>mpiexec  "C:\Program Files\MPICH2\exampl
es\Release\cpi.exe"
Enter the number of intervals: (0 quits) 1000000000

1000000000
pi is approximately 3.1415926535899708, Error is 0.0000000000001776
wall clock time = 29.516858

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

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

而且win下多进程等待输入时cpu占用为0,而lin下居然四个核都100%,不多于4个时,openmpi有一个核的cpu占用为0,
难道是lin下的进程通讯开销特别大?

论坛徽章:
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
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
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
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP