作为this问题的后续,我开始从源代码构建MPICH2。我找到了这个教程:Installing MPICH2 on a Single Machine到目前为止我所做的是:
./configure --disable-f77 --disable-fc --disable-fortran
[seems to be OK]
make; sudo make install
[long output with one warning]
libtool: warning: relinking 'lib/libmpicxx.la'
root@pythagoras:/home/gsamaras/mpich-3.1.4# mpich2version
bash: mpich2version: command not found
我做错了什么?请注意,我首先使用apt-get安装了MPICH2,为了删除它,我做了:
apt-get remove --purge mpich2
apt-get autoremove // which might removed something that I need now
明天,我将尝试这个:Getting And Building MPICH(首次尝试无法在autogen.sh部分工作)。
EDIT_1 :
我无法让它工作,会尝试两个教程的组合并报告回来。我做了一个配置,然后是其他教程的make,也失败了。
EDIT_2
这可能会掩盖它安装的位置(通过遵循第一个教程):
root@pythagoras:/home/gsamaras/mpich-3.1.4# which mpiexec
/usr/local/bin/mpiexec
root@pythagoras:/home/gsamaras/mpich-3.1.4# which mpirun
/usr/local/bin/mpirun
答案 0 :(得分:2)
你安装到/ usr / local,这是一种可行的方法。您遵循的README说明建议了另一种不需要管理权限的方法。
我喜欢安装到/ home / robl / soft / mpich-whatever,所以我可以使用不同的编译器,版本,配置等。这样的灵活性对你来说可能有点过头了,但这是一种策略。
问题:
root@pythagoras:/home/gsamaras/mpich-3.1.4# mpich2version
bash: mpich2version: command not found
首先,命令现在是mpichversion
,而不是mpich2version
- 您可能正在阅读旧教程。
其次,你的shell可能不知道新安装的二进制文件。 hash -r
(至少在bash和tcsh上)会告诉shell“忘记你认为你对我的文件系统的了解并且看起来更难”。
答案 1 :(得分:0)
我找到了mpich-3.0.4-README,他似乎提供了解决方案。
长话短说,它说(它假设您要构建3.0.4版本,我使用3.1.4(可用here)):
tar xzf mpich-3.0.4.tar.gz
cd mpich-3.0.4
// you might want to disable fortran compiler (see the README I linked above)
./configure --prefix=/home/<USERNAME>/mpich-install 2>&1 | tee c.txt
make 2>&1 | tee m.txt
make install 2>&1 | tee mi.txt
PATH=/home/<USERNAME>/mpich-install/bin:$PATH ; export PATH
which mpicc
// should return something reasonable (with your directory)
mpiexec -n 2 ./examples/cpi
现在,使用machinefile的选项不起作用,因为ssh需要密码,但这是另一个问题。