做这种事情比较没成就感,就是碰到一堆问题,然后上网搜索,要么多尝试几次,花费的时间比较多,但是比较无趣
接前话
1.安装完毕intel集群工具包之后,接下来要记得运行几个**var.sh,主要是设置环境变量的脚本,一般在各个包的/bin目录下面,比如mpi的mpivars.sh,icc的iccvars.sh,如果单纯执行脚本的话,只对当前shell有效
最好直接修改/etc/profile,如何修改,可以打开这两个脚本做的事情。
其实主要是设置了PATH LD_LIBRARY_PATH这两个变量
2.接下来要从mpi开始使用,因为这个是基础,其他的工具集比如bechmarks,itc都是以它为基础的,所以要先配好这个,才能编译并行程序
3.如果要使用ssh,应该检查下sshd能否使用,这个是服务端,运行sshd一下,如果不行下载一下
4.出错不要紧,比较郁闷的是,程序完全不响应,就死那了,完全没提示,我在运行mpdboot就是这样,完全死掉
用ssh duanple@duanple-desktop也是这样
5.一般来说,如果设置好了icc和mpi的bin到path,和库路径,编译一般没问题
6.运行,还要有mpdboot的支持,所以需要设置它,比如首先用mpdtrace检查一下是否有mpdboot在运行
所以intel的文档Getting Started with Intel? MPI Library,是先介绍了一些环境需求,然后介绍配置mpd
按照那个步骤下来,我发现mpdboot -n 1 -f mpd.hosts,就是死那了
于是我怀疑,ssh有问题,果然,ssh duanple@duanple-desktop也是死那,然后我有怀疑,是不是sshd没开启,于是又下载了sshd并开启(注意可能会遇到权限问题,需要sudo sshd)。
之后还是死,中间有个错误,说无法路由到duanple-desktop,这才干脆试下ssh -l duanple 127.0.0.1 竟然可以
于是干脆把mpd.hosts里的也改成了127.0.0.1
之后
mpdboot -n 1
mpdtrace
mpirun -n ./test这才可以
7.bechmarks主要就是一组测试用源程序,make一下,然后运行就可以了,就可以看到结果了