设为首页 收藏本站
查看: 1641|回复: 0

[经验分享] linux安装mpich

[复制链接]

尚未签到

发表于 2019-2-18 07:26:51 | 显示全部楼层 |阅读模式
  为了做课设,不得不安装个mpich,找了好久方法。下面简单介绍下安装方法


  •   yum安装,这是比较简单的安装方式
    注意:先要配置好yum的网络源安装epel-release扩展源,我试了下本地的貌似没安装成功

    [root@c1 yum.repos.d]# yum -y install mpich-3.2-devel.x86_64 mpich-3.2-devel.x86_64 mpich-3.2-doc.noarch
    安装好之后是找不到命令的,需要手动配置环境变量
    [root@c1 yum.repos.d]# find / -name "mpicc"
    /usr/lib64/mpich-3.2/bin/mpicc
    先搜索一下安装路径
    设置环境变量:
    在 /etc/profile添加一下内容:
    PATH=$PATH://usr/lib64/mpich-3.2/bin/
    刷新一下:
    source /etc/profile
    命令就可直接使用了
    新建一个文件test.c
    [root@host ~]# cat test.c
    #include
    #include
    #include
    int main(int argc,char* argv[])
    {
    int myid, numprocs;
    int namelen;
    char processor_name[MPI_MAX_PROCESSOR_NAME];
    MPI_Init(&argc,&argv);/* 初始化并行环境 */
    MPI_Comm_rank(MPI_COMM_WORLD,&myid);/* 当前进程的ID号 */
    MPI_Comm_size(MPI_COMM_WORLD,&numprocs);/* 进程的总數 */
    MPI_Get_processor_name(processor_name,&namelen);/* 当前处理器的名称 */
    fprintf(stderr,"Hello World! Process %d of %d on %s\n",
    myid, numprocs, processor_name);
    MPI_Finalize();/* 结束并行环境 */
    return 0;
    }
    [root@c1 ~]# mpicc -o hello test.c
    [root@c1 ~]# mpirun -np 4 ./hello
    Fatal error in MPI_Init: Other MPI error, error stack:
    MPIR_Init_thread(474)..............:
    MPID_Init(190).....................: channel initialization failed
    MPIDI_CH3_Init(89).................:
    MPID_nem_init(320).................:
    MPID_nem_tcp_init(173).............:
    MPID_nem_tcp_get_business_card(420):
    MPID_nem_tcp_init(379).............: gethostbyname failed, c1 (errno 1)
    但是这里运行还是会报错,原因在于,没有配置好域名解析:
    需要配置域名解析
    在/etsc/hosts中与/etc/hostname中的名字需要一致,贴出我的配置
    [root@host ~]# cat /etc/hosts
    127.0.0.1   host
    ::1         localhost
    [root@host ~]# cat /etc/hostname
    host
    可以通过ssh 连接host   如果连接成功说明配置成功
    接下来就可运行了
    [root@host ~]# mpirun -np 4 ./hello
    Hello World! Process 0 of 4 on host
    Hello World! Process 2 of 4 on host
    Hello World! Process 1 of 4 on host
    Hello World! Process 3 of 4 on host

2. 源码安装mpich

[root@c1 ~]# wget http://www.mpich.org/static/downloads/3.2/mpich-3.2.tar.gz
--2018-05-28 18:06:45--  http://www.mpich.org/static/downloads/3.2/mpich-3.2.tar.gz
正在解析主机 www.mpich.org (www.mpich.org)... 140.221.6.71
正在连接 www.mpich.org (www.mpich.org)|140.221.6.71|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:11862150 (11M) [application/x-gzip]
正在保存至: “mpich-3.2.tar.gz”
100%[=====================================================>] 11,862,150   213KB/s 用时 54s   
2018-05-28 18:07:40 (215 KB/s) - 已保存 “mpich-3.2.tar.gz” [11862150/11862150])
[[root@c1 ~]# tar zxf mpich-3.2.tar.gz
[root@c1 ~]# ls
anaconda-ks.cfg  initial-setup-ks.cfg  mpich-3.2  mpich-3.2.tar.gz
[root@c1 ~]# cd mpich-3.2/
[root@c1 mpich-3.2]# ls
aclocal.m4  configure     doc          Makefile.in       mpi.def        src
autogen.sh  configure.ac  examples     man               README         subsys_include.m4
CHANGES     contrib       maint        mpich.def         README.envvar  test
confdb      COPYRIGHT     Makefile.am  mpich-doxygen.in  RELEASE_NOTES  www
编译
[root@c1 mpich-3.2]# ./configure --prefix=/usr/local/mpich
………………..
config.status: executing default-4 commands
Configuration completed.   //中间一大串,看见这个就成功了
安装:
注意:中间如果报错,可能是缺少gcc、build-essential依赖,yum直接安装就行了
[root@c1 mpich-3.2]# make && make install
  安装成功后同样找不到命令,还是需要配置环境变量

[root@c1 mpich-3.2]# ls /usr/local/mpich/bin/*    //这是之前指定的安装目录
/usr/local/mpich/bin/hydra_nameserver  /usr/local/mpich/bin/mpiexec.hydra
/usr/local/mpich/bin/hydra_persist     /usr/local/mpich/bin/mpif77
/usr/local/mpich/bin/hydra_pmi_proxy   /usr/local/mpich/bin/mpif90
/usr/local/mpich/bin/mpic++            /usr/local/mpich/bin/mpifort
/usr/local/mpich/bin/mpicc             /usr/local/mpich/bin/mpirun
/usr/local/mpich/bin/mpichversion      /usr/local/mpich/bin/mpivars
/usr/local/mpich/bin/mpicxx            /usr/local/mpich/bin/parkill
/usr/local/mpich/bin/mpiexec
  添加环境和之前一样

[root@c1 mpich-3.2]# tail -1 /etc/profile
PATH=$PATH:/usr/local/mpich/bin/
[root@c1 mpich-3.2]# source /etc/profile
  这会儿就能看到mpicc的命令了。。。成功了
  测试下:(还是利用上面那个例子)

[root@c1 ~]# mpicc -o test test.c
[root@c1 ~]# mpirun -np 4 ./test
Fatal error in MPI_Init: Other MPI error, error stack:
MPIR_Init_thread(474)..............:
MPID_Init(190).....................: channel initialization failed
MPIDI_CH3_Init(89).................:
MPID_nem_init(320).................:
MPID_nem_tcp_init(173).............:
MPID_nem_tcp_get_business_card(420):
MPID_nem_tcp_init(379).............: gethostbyname failed, c1 (errno 1)
  同样报错…….
但是解决方法和上面那个完全一样,都是host名字设置不一样造成的




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-673700-1-1.html 上篇帖子: Linux之iptables 下篇帖子: Linux20180528
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表