2011年11月7日星期一

zz eclipse运行C++控制台不输出结果的解决办法

解决方法:

Run Configurations -> Environment

Name
: PATH
Value : C:\MinGW\bin

在运行设置中增加 Path=C:\MinGW\bin
eclipse运行C++控制台不输出结果的解决办法

eclipse运行C++控制台不输出结果的解决办法

2011年11月4日星期五

ubuntu eclipse c++ cdt 安装

通过Eclipse的Help -> Install New Software进入安装插件界面;
首先,需要添加一个CDT的下载站点,填写CDT的下载地址:
p2 software repository: http://download.eclipse.org/tools/cdt/releases/indigo

之后在此站点安装CDT包即可。

2011年11月3日星期四

Linux下安装MPICH(转载)

Linux mpich2 安装

1:从MPICH2官网下载源代码,http://www.mcs.anl.gov/research/projects/mpich2 /downloads/tarballs/1.0.8/mpich2-1.0.8.tar.gz  目前最新的是1.0.8,当然如果你使用的windows平台也可以下载http://www.mcs.anl.gov/research /projects/mpich2/downloads/tarballs/1.0.8/mpich2-1.0.8-win-ia32.msi,以及 http://www.mcs.anl.gov/research/projects/mpich2/documentation/files/mpich2-1.0.8-windevguide.pdf 这是windows平台下的开发文档。
你也可以登录http://www.mcs.anl.gov/research/projects/mpich2/downloads/index.php?s=downloads,查看你需要的mpich版本,根据自己需要下载即可。
2、然后,将mpich2-1.0.8.tar.gz解压到/home/mpi/mpich2/src中,
执行下列命令:cd /home/mpi/mpich2/src
./configure -prefix=/home/mpi/mpich2(配置安装位置为 /home/mpi/mpich2)
如果没有问题,再运行下面
make
make install
稍等就大功造成了。
3、修改机器的~/.bash_profile(Ubuntu修改~/.bashrc)文件,在最后加上下面的语句
export MPI_ROOT=/home/mpi/mpich2
export PATH=$MPI_ROOT/bin:$PATH
export MANPATH=$MPI_ROOT/man:$MANPATH
4、编辑下面的文件,并存储为hello.c
#include "mpi.h"
#include <stdio.h>
#include <math.h>

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);
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;
}



5、接着编译一下

mpicc -o hello hello.c
C程序用 mpicc编译,C++程序用mpicxx编译)
6MPI应用一个管理器来管理运行MPI程序,这个管理器就是mpd,但是在正式开始运行mpd前还需要一个基于安全考虑的配置文件.mpd.conf,这个文件是要放在运行程序的用户的home目录下,本例子中就是/home/mpi/.mpd.conf,而且这个文件只能由这个用户读写,创建文件的命令是,
cd $HOME
touch .mpd.conf
chmod 600 .mpd.conf
然后在.mpd.conf文件中(如果没有这个文件需要创建一个)写入这么一行,secretword=******可以是任意的值,如果配置集群的话,这个值在参与计算的计算机上必需完全一致。如果是root用户的话,这个文件应该是/etc/mpd.conf

7、启动并行环境 mpdboot
第一次使用这个命令时,可能会出现错误,执行以下代码
cd

touch .mpd.conf                  //
这是修改mpd配置文件的时间戳
chmod 600 .mpd.conf          //
这是修改配置文件的权限

运行程序: mpirun -np 4 ./hello
-np
是指用几个进程模拟运行,这里用4
输出结果为:  (下面结果每台机器可能都不一样,是正常的)
Hello World! Process 1 of 4 on jack-laptop
Hello World! Process 3 of 4 on jack-laptop
Hello World! Process 2 of 4 on jack-laptop
Hello World! Process 0 of 4 on jack-laptop
想停止并行运行环境
mpdcleanup

8、如在第七步出现类似下面的报错
mpdroot: perror msg: Connection refused
mpdroot: cannot connect to local mpd at: /tmp/mpd2.console_root
probable cause: no mpd daemon on this machine
possible cause: unix socket /tmp/mpd2.console_root has been removed

请打开另外一个终端,并执行mpd命令,同时不要关闭这个终端,在执行第7步即可。

9、 如果你的os是Ubuntu的话,安装过程中如果提示缺少什么,首先安装这个东西之后再按照这个步骤即可。