当前位置:文档之家› MPICH2安装及MPI简介

MPICH2安装及MPI简介

MPICH2安装及MPI简介
MPICH2安装及MPI简介

MPICH2安装及MPI简介

MPICH2的安装

●下载MPICH2包mpich2.tar.gz

●解压缩# tar xfz mpich2.tar.gz

●#mkdir /tmp/root/mpich2-1.0.8

●#cd /tmp/root/mpich2-1.0.8

●#/root/Desktop/mpich2-1.0.8/configure --prefix=/usr/local 2>&1

| tee configure.log

//其中root/Desktop/mpich2-1.0.8/为解压后MPICH2路径

●#make 2>&1 | tee make.log

●#make install PACKAGE=mpich-1.0.8 2>&1 | tee install.log

●#make installcheck PACKAGE=mpich-1.0.8 2>&1 | tee

installcheck.log

测试安装是否成功

#which mpiexec

#which mpd //默认程序管理命令default process manager

#which mpicc

#which mpirun

注:如果不是安装在/usr/local目录下,则还需设置环境变量。

通过编辑.bashrc文件修改环境变量

#vi .bashrc

修改后的.bashrc文件如下:

# .bashrc

# User specific aliases and functions

PATH="$PATH:/usr/MPICH-install/bin" //新增加的

#Source .bashrc

mpd配置文件中设置密码

#cd $HOME

#touch .mpd.conf

#chmod 600 .mpd.conf //权限设置为只有自己有读写权限在超级用户下:

#cd /etc

#vi mpd.conf

写入secretword=jsi 并保存

#chmod 600 /etc/mpd.conf

单机测试

#mpd &

#mpdtrace

//显示本机名为成功

#mpiexec –n 1 /bin/hostname

#mpdallexit

SSH配置

●修改所有机器上的/etc/hosts文件为如下内容

127.0.0.1 localhost.localdomain localhost

10.10.1.190 node01

10.10.2.190 node02

……

●创建SSH密钥(root目录)

#ssh-keygen –t rsa //其中-t rsa指密钥类型。这样就生成了~/.ssh #cd .ssh

#cp id_rsp.pub authorized_keys //生成authorized_keys文件

#cd..

#ssh node01 //建立本身的信任连接

●设置其他机器

#ssh-keygen –t rsa //生成.ssh文件夹

#scp 10.10.1.190:/root/.ssh/* /root/.ssh

#scp 10.10.1.190:/etc/hosts

●对每个节点执行

#ssh node01

#ssh node02

……

//提示输入密码-登陆,为成功

NFS配置

1 服务器端

●#/etc/rc.d/init.d/nfs start //启动nfs服务

●#vi /etc/export //编写exports文件,写入需共享目录eg. /public/mpi node01(rw) node02(rw) …

检查是否运行

#ps ax | grep nfsd

引导时自动启动NFS

#chkconfig --list | grep nfs

#chkconfig –level 5 nfsd on

2 客户端

●#showmount –e nfshost ●#mount //查看NFS服务器上共享资源

nfshost

eg. #mkdir /public/mpi

:目录本机挂载目录

#mount node01:/public/mpi /public/mpi

●#unmount /public/mpi //卸载(如果需要的话) 创建主机名称集合文件/root/mpd.hosts

#vi mpd.hosts

文件内容如下:

node01

node02

通过mpd.hosts运行集群系统

#mpdboot -n num -f mpd.hosts //num为要起动的机器个数#mpdtrace

#mpdallexit

MPI并行程序的编译与执行

#mpdboot -n num -f mpd.hosts

#mpicc cpi.c –o cpi

#mpiexec –n num cpi

#mpdallexit

MPI简介

数据类型

常用接口

1. MPI_INIT() MPI初始化

2. MPI_FINALIZE() MPI结束

3. MPI_COMM_RANK(comm,rank) 当前进程标识

4. MPI_COMM_SIZE(comm,size) 通信域包含的进程

5. MPI_SEND(buf,count,datatype,dest,tag,comm)

IN buf 发送缓存的起始地址(选择型)

IN count 发送缓存的元素的个数(非负整数)

IN datatype 每个发送缓存元素的数据类型(句柄)

IN dest 目的地进程号(整型)

IN tag 消息标志(整型)

IN comm 通信域(句柄)

消息发送

6. MPI_RECV(buf,count,datatype,source,tag,comm,status)

OUT buf 接收缓存的起始地址(选择型)

IN count 接收缓存中元素的个数(整型)

IN datatype 每个接收缓存元素的数据类型(句柄)

IN source 发送操作的进程号(整型)

IN tag 消息的标识(整型)

IN comm 通信组(句柄)

OUT status 状态对象(状态)

消息接收

7.MPI_SENDRECV(sendbuf,sendcount,sendtype,dest,sendtag,recvb uf,recvcount,recvtype,source,recvtag,comm,status)

捆绑发送

8. MPI_BCAST(buffer,count,datatype,root,comm)

广播

9.MPI_REDUCE(sendbuf,recvbuf,count,datatype,op,root,comm)

归约进程P1 op p2 op… root

MPI四种通信模式

MPI非阻塞通信

非阻塞通信主要实现计算域通信重叠。由于通信经常需要较长的时间,在阻塞通信还没有结束的时候,处理机只能等待,这要就浪费了处理机的计算资源。非阻塞通信就是设法实现就算与通信的重叠。

例:

MPI_ISEND(buf, count, datatype, dest, tag, comm, request) IN buf 发送缓存的起始地址(选择类型)

IN count 发送缓存中元素的个数(整型)

IN datatype 每个发送缓存元素的数据类型(句柄)

IN dest 目的进程号(整型)

IN tag 消息标志(整型)

IN comm 通信子(句柄)

OUT request 通信请求(句柄)

request非阻塞通信对象:它是MPI内部的对象,通过句柄存取。使用它可以识别非阻塞通信操作的各种特性,如发送模式、与它联结的通信缓冲区、通信上下文、用于发送的标识和目的参数或用于接收的标识和源参数。

MPI组通信

组通信需要一个特定组内的所有进程同时参加通信,它在各个不同进程的调用完全相同,而不像点到地点通信那样在形式上就有发送和接收的区别。

●广播相同的数据

MPI_BCAST(buffer,count,datatype,root,comm)

IN/OUT buffer 通信消息缓冲区的起始地址(可变)

IN count 通信消息缓冲区中的数据个数(整型)

IN datatype 通信消息缓冲区中的数据类型(句柄)

IN root 发送广播的根的序列号(整型)

IN comm 通信子(句柄)

●收集

MPI_GATHER(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root , comm)

IN sendbuf 发送消息缓冲区的起始地址(可变)

IN sendcount 发送消息缓冲区中的数据个数(整型)

IN sendtype 发送消息缓冲区中的数据类型(句柄)

OUT recvbuf 接收消息缓冲区的起始地址(可变,仅对于根进程)

IN recvcount 待接收的元素个数(整型,仅对于根进程)

IN recvtype 接收元素的数据类型(句柄,仅对于根进程)

IN root 接收进程的序列号(整型)

IN comm 通信子(句柄)

●散发不同的数据,收集的逆操作

MPI_SCATTER(sendbuf,sendcount,sendtype,recvbuf,recvcount,recvtype, root,comm)

●组收集

MPI_GATHER是将数据收集到ROOT进程,而MPI_ALLGATHER相当于对每个进程都作为ROOT执行了一次MPI_GATHER调用。

MPI_ALLGATHER(sendbuf, sendcount, sendtype, recvbuf, recvcount,

recvtype,comm)

全互换

每个进程一次将它的发送缓冲区的第i块数据发送给第i个进程;同时每个进程都依次从第j个进程接收数据放到各自接收缓冲区的第j块数据区的位置。MPI_ALLGATHER(sendbuf, sendcount, sendtype, recvbuf, recvcount,

recvtype,comm)

示例程序

Hello word程序:

#include “mpi.h”

#include

#include

void main(argc,argv)

int argc;

char *argv[];

{

int myid,numprocs;

int namelen;

char processor_name[MPI_MAX_PROCESSOR_NAME];

MPI_Init(&argc,&argv);

MPI_Comm_size(MPI_COMM_WORLD,&numprocs);

MPI_Comm_rank(MPI_COMM_WORLD,&myid);

MPI_Get_processor_name(processor_name,&namelen);

printf(stderr,”Hello World! Process %d of %d on %s \n”,

myid,numprocs,processor_name);

MPI_Finalize();

}

PI 值计算:

π≈?f ?2?i ?1??1

N

i=1

/* -*- Mode: C; c-basic-offset:4 ; -*- */ /*

* (C) 2001 by Argonne National Laboratory. * See COPYRIGHT in top-level directory. */

/* This is an interactive version of cpi */ #include "mpi.h" #include #include

double f(double);

double f(double a) {

return (4.0 / (1.0 + a*a)); }

int main(int argc,char *argv[]) {

int done = 0, n, myid, numprocs, i;

double PI25DT = 3.141592653589793238462643; double mypi, pi, h, sum, x;

double startwtime = 0.0, endwtime; int namelen;

char processor_name[MPI_MAX_PROCESSOR_NAME];

MPI_Init(&argc,&argv);

MPI_Comm_size(MPI_COMM_WORLD,&numprocs); MPI_Comm_rank(MPI_COMM_WORLD,&myid);

MPI_Get_processor_name(processor_name,&namelen);

/*

fprintf(stdout,"Process %d of %d is on %s\n",

myid, numprocs, processor_name);

fflush(stdout);

*/

while (!done) {

if (myid == 0) {

fprintf(stdout, "Enter the number of intervals: (0 quits) ");

fflush(stdout);

if (scanf("%d",&n) != 1) {

fprintf( stdout, "No number entered; quitting\n" );

n = 0;

}

startwtime = MPI_Wtime();

}

MPI_Bcast(&n, 1, MPI_INT, 0, MPI_COMM_WORLD);

//广播MPI_BCAST(buffer,count,datatype,root,com)

if (n == 0)

done = 1;

else {

h = 1.0 / (double) n;

sum = 0.0;

for (i = myid + 1; i <= n; i += numprocs) {

x = h * ((double)i - 0.5);

sum += f(x);

}

mypi = h * sum;

MPI_Reduce(&mypi, &pi, 1, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD);

//归约,将每个进程输入缓冲区中的数据按给定的操作OP进行运算,并将其结果返回到序列号为root的进程的输出缓冲区中。原型为

//MPI_REDUCE(sendbuf,recvbuf,count,datatype,op,root,com)

if (myid == 0) {

printf("pi is approximately %.16f, Error is %.16f\n",

pi, fabs(pi - PI25DT));

endwtime = MPI_Wtime();

printf("wall clock time = %f\n", endwtime-startwtime);

fflush( stdout );

}

}

}

MPI_Finalize();

return 0;

}

我认为学习MPI的一个较好的网站(中文) https://www.doczj.com/doc/9d17736190.html,/npact

支予哲2008-12-14

MPI安装与运行报告

MPI 安装于运行报告 本机运行环境: 机器型号:联想G450 处理器:Pentium(R)Dual-Core CPU T4200 @ 2.00GHz 运行内存 (RAM):2GB 操作系统:Windows 7(32 位) 程序开发环境:Visual Studio 2008 MPI 版本: mpich2-1.3.2p1-win-ia32 安装程序 详细安装步骤: 1、运行mpich2-1.3.2p1-win-ia32.msi。 安装过程中,会要求设置一个passphrase我的机器上默认的passphrase是beHappy,很有意思的密码。设置这个东西很重要,一定要记住;下面会说到为什么。 2、安装完之后,不知道下一步怎么进行了。打开刚才安装的MPICH2 的快捷方式目录,发现了一个README文件。打开之后,发现了MPICH2的使用方法介绍,于是按照其中的指示,我进行了第一个MPI 并行程序的编写。 我使用的是VC++2008首先创建一个新的工程,取名为MPITes。 添加MPI 库的支持: 按照README中的指导,应该首先将MPI的头文件目录包含到项目中去。结果在项目属性中找了半天,也没有找到添加头文件目录的位置,只找到了包含库文件的位置,我安装MPICH2的目录为D:\Program Files\MPICH2将MPICH2的库文件添加到如下面图1所示的位置即可。 最后才反应过来,这个工程还是空的,没有任何文件,可能跟这个有关系吧。 于是,马上新建了一个Cpp文件main.cpp,将老师PPT中的例子程序拷贝进去。

图1 果然,新建了这个cpp文件之后,项目属性中多出了C/C++这样一项, 于是,就可以在其中设置包含文件的目录了,相应的配置如下面图2所示 图2 设置好这些文件之后,编译程序,结果在连接的时候报错,类似于 main.obj : error LNK2019:无法解析的外部符号_MPI_Finalize,该符号在函数_main中被引用”这样的错误出现了六个。再看READM文档,发现了这样? 句话:

MPI编程环境配置与示例

目录 一、系统安装 (1) 1、下载地址 (1) 2、安装步骤 (1) 3、Visual Stdio设置 (1) 二、实验程序 (2) 1、简单得MPI编程示例 (2) 2、消息传递MPI编程示例1 (3) 3、消息传递MPI编程示例2 (4) 4、Monte Carlo方法计算圆周率 (6) 5、计算积分 (8) 三、心得体会 (9) 一.系统安装 1.下载地址 FTP匿名登陆,在pub/mpi/nt文件夹中 2.安装步骤 1)在安装有MPI得计算机上要建立一个有管理员权限得账户,不可以没有密 码; 2)双击exe文件,按默认设置安装MPI; 3)注册MPI账户,调用MPIRegister、exe,用户名与密码即为第一步中得账户。 3.Visual Stdio设置 为避免每新建一个项目都要设置一次,可以对它进行通用设置。 打开视图-其她窗口-属性管理器,点击Debug|Win32目录下得Microsoft、Cpp、Win32、user,在VC++目录下得包含目录中添加MPICH得Include路径,库目录中添加MPICH得Lib路径;在链接器-输入目录下得附加依赖项中添加mpich、lib、mpe、lib、mped、lib、mpichd、lib。

二.实验程序 1.简单得MPI编程示例 1)源代码 #include #include int main(int argc, char* argv[]) { int num, rk;

MPI_Init(&argc, &argv); MPI_Comm_size(MPI_COMM_WORLD, &num); MPI_Comm_rank(MPI_COMM_WORLD, &rk); printf("Hello world from Process %d of %d\n", rk, num); MPI_Finalize(); return 0; } 2)运行截图 2.消息传递MPI编程示例1 1)源代码 #include #include int main(int argc, char** argv) { int myid, numprocs,source; MPI_Status status; char messages[100]; MPI_Init(&argc, &argv); MPI_Comm_size(MPI_COMM_WORLD, &numprocs); MPI_Comm_rank(MPI_COMM_WORLD, &myid); if (myid != 0)

OpenStack安装文档

OpenStack Nova安装手册 作者: yz 日期: 2011-11-27 版本: v0.3 网址: https://www.doczj.com/doc/9d17736190.html,

目录 实验环境 (3) 架构部署 (3) 服务器系统安装 (3) 控制节点安装 (4) NTP时钟服务安装 (4) MYSQL数据库服务安装 (4) RABBITMQ消息队列服务安装 (5) NOVA服务安装 (5) GLANCE镜像存储服务安装 (5) KEYSTONE、noVNC、Dashboard服务相关依赖包安装 (5) KEYSTONE认证服务安装 (5) https://www.doczj.com/doc/9d17736190.html,PUTE扩展库安装 (8) OPENSTACKX扩展库安装 (8) PYTHON-NOVACLIENT扩展库安装 (8) QUANTUM模块安装 (9) OPENSTACK-DASHBOARD控制面板安装 (9) noVNC服务安装 (11) NOVA服务配置 (12) GLANCE镜像存储服务配置 (14) noVNC服务配置 (15) 计算节点安装 (16) NTP时钟同步配置 (16) NOVA服务安装 (16) NOVA服务配置 (17) DASHBOARD使用基础 (20) 建立Keypairs (20) 建立安全组 (20) 启动实例 (21) 通过VNC连接实例 (22) 为实例分配外网IP (23)

实验环境 硬件: DELL R410(1台) CPU:Intel(R) Xeon(R) CPU E5620 @ 2.40GHz * 2 内存:16GB 硬盘:300GB 网卡:Broadcom Corporation NetXtreme II BCM5716 Gigabit Ethernet * 2 DELL R710(1台) CPU:Intel(R) Xeon(R) CPU E5606 @ 2.13GHz * 2 内存:32GB 硬盘:250GB 网卡:Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet * 4 系统: Ubuntu Server 11.04 x64 Openstack版本: Diablo 4 release(2011.3) 架构部署 机器型号/主机名外网IP 内网IP 作用 R410/r410-control1 60.12.206.111 192.168.1.2 控制节点 R710/r710-compute1 60.12.206.99 192.168.1.3 计算节点1 实例网段为10.0.0.0/24,floating ip为60.12.206.114,实例网段桥接在内网网卡上,网络模式采用FlatDHCP 服务器系统安装 1.Ubuntu server 11.04 x64使用默认安装方式 2.服务器外网使用eth0 3.服务器内网使用eth1 4.除apache及noVNC外,所有服务均监听内网IP

MPICH2在Windows环境下Visual_Studio_2010的环境搭建

MPICH2在Windows系统Visual Studio 2010的环境搭建 本机运行环境: 机器型号:联想G450 处理器:Pentium(R)Dual-Core CPU T4200 @ 2.00GHz 运行内存(RAM):2GB 操作系统:Windows 7(32位) 程序开发环境:Visual Studio 2008 MPI版本: mpich2-1.3.2p1-win-ia32安装程序 MPI的编译和运行 对于简单的程序,可以使用专门的编译命令。对于大的项目,最好使用标准的Makefile。MPICH提供的编译命令有mpicc和mpif77,它们分别是C和Fortran的编译命令: mpicc -o first first.c mpif77 -o first firstf.f 对于编译得到的目标程序,运行的命令为: mpirun –arch xxx –np yyy first 其中xxx为machines.,yyy为申请的进程数目。 MPICH的安装和配置 文中使用的MPICH2安装文件是mpich2-1.4-win-ia32 (https://www.doczj.com/doc/9d17736190.html,/mpi/mpich),在Windows下安装MPICH2比较简单,但是要有Microsoft .NET Framework的支持。安装基本上只要单击“Next”即可。在安装过程中会提示输入进程管理器的密码,这个密码被用来访问所有的程序,这里使用的密码为admin。如果是多台机器执行mpi,那么这多台机器上必须配置相同的mpi用户,就是新用户的用户名和密码必须相同。

openstack安装、配置过程中常见问题及解决办法

openstack安装、配置过程中常见问题及解决办法: by-lilin == 问题一:由于网络节点只有2个物理网卡,当给网络节点配置虚拟子网(10.10.10.52,10.20.20.52)时,无法ping通计算节点网络(10.10.10.53/54/55,10.20.20.53/54/55)== 解决方法: 在网络节点其中一个物理网卡eth0安装虚拟网卡,构建虚拟vlan,实现同一个网卡分配2个不同网段的IP地址(10.10.10.52和10.20.20.52)。 安装步骤如下所示: **安装vlan(vconfig)和加载8021g模块: # aptitude install vlav # modprobe 8021g # lsmod |grep -i 8021q **使用linux cvonfig命令配置vlan(在eth0网卡上虚拟两个vlav端口,端口号为5、7): # vconfig add eth0 5 Added VLAN with VID == 5 to IF -:eth0 # vconfig add eth0 7 Added VLAN with VID == 7 to IF -:eth0 **设置VLAN的REORDER_HDR参数,默认就行了: # vconfig set_flag eth0.5 1 1 Set flag on device -:eth0.5:- Should be visible in /proc/net/vlan/eth0.5 # vconfig set_flag eth0.7 1 1 Set flag on device -:eth0.7:- Should be visible in /proc/net/vlan/eth0.7 **可以使用cat /proc/net/vlan/eth0.5查看eth0.5参数: # cat /proc/net/vlan/eth0.5 eth0.5 VID: 5 REORDER_HDR: 1 dev->priv_flags: 1 total frames received 623 total bytes received 32353 Broadcast/Multicast Rcvd 606 total frames transmitted 71 total bytes transmitted 9420 Device: eth0 INGRESS priority mappings: 0:0 1:0 2:0 3:0 4:0 5:0 6:0 7:0 EGRESS priority mappings:

openstack安装记录

tar zxf openstack-ubuntu-14-04.tar.gz cd openstack-ubuntu-14-04 ./init.sh ./create_link.sh cd tools ./create_http_repo.sh ls /var/www/html/pip/routes/(查看信息) cd chap03/ cd mysql nano localrc 修改IP地址 ./mysql.sh nano /etc/mysql/my.cfg(修改mysql连接慢的问题)skip-name-resolve(添加) service mysql restart 连接验证mysql mysql -uroot -pmysqlpassword mysql -uroot -pmysqlpassword -h192.168.80.128 cd .. cd rabbitmq ./rabbitmq.sh cd keystone/ nano localrc 修改其中IP地址 cd ~ source keyrc (先运行这个) keystone user-list keystone endpoint-list keystone tenant-list source keyrc ps aux | grep keystone cd /var/log/nova/ nano keystone.log cd opt/openstack-ubuntu-14-04/chap04 nano localrc sed -i "s, 192.168.56.101,192.168.56.180,g" localrc swift ls /var/log/swift source swiftrc root@ubuntu:~# swift stat

实验3安装MPICH

实验3 安装MPICH 准备知识(自学) 一、Linux命令及脚本文件 目的与要求:使学生掌握Linux基本命令的使用;学会编写简单的脚本文件。 主要内容及提示: 1.Linux基本命令 1.1帮助 所有的Linux命令及C,MPI函数的使用说明都可以通过联机帮助获得。 man 〈命令|C语言函数名|MPI函数名〉 〈命令名〉—help 1.2 文件、目录、磁盘操作命令 ls 查看目录中的内容,常用的参数有–al pwd 显示当前工作目录 cd 改变当前工作目录,(.表示当前目录;..表示父目录;~表示当前用户的主目录) mkdir 建立子目录 cp 复制文件或子目录,可用参数 -R cat 显示文件内容 more 分屏输出(回车:上滚一行;空格:上滚一屏;q:退出) less 分屏输出(q键退出、还可以使用光标上下移动键) chmod 改变文件或目录的读(r)写(w)执行(x)属性(三组rwx中,第一组rwx 为该文件主的权限、第二组rwx为同一用户组中其他用户的权限、第三组rwx为其他用户的权限。例如:chmod 765 <文件名>,则文件的读写执行权限为rwxrw-r-x,即7=111B,6=110B,5=101B,这里B表示二进制) ln 建立文件链接,常用参数-s(相当于Windows中的“快捷方式”) rm 删除文件,删除子目录(需要参数-r) mv 移动文件(目标文件若存在,则会被覆盖) gzip gz文件的压缩/解压缩,常用参数-d(解压缩),-9(最大压缩) tar tar,tgz文件的打包/解包,常用参数-cvf(打包成tar文件),-xvf (解tar文件包),-zcvf(打包并压缩成tgz文件),-zxvf(解tgz文件) df 显示硬盘各分区的使用情况 mount 装载文件系统 umount 卸载文件系统 1.3 m命令集——DOS/Windows格式软盘的使用 mdir或mdir a: 显示软盘当前目录内容 mcopy Linux操作系统中的文件与DOS/Windos格式软盘之间复制文件 mtype 显示软盘中指定文件的内容 mren 更改软盘中指定文件的文件名 mdel 删除软盘中指定文件 mcd 改变软盘的当前目录 mmd 在软盘上建立子目录

MPI环境搭建

MPI 并行环境的搭建 1、在计算机中,安装两个CentOS系统 2、[root@node1 etc]# ifconfig #查看ip 192.168.241.128 [root@node2 etc]# ifconfig 192.168.241.129 3、互ping [root@node1 etc]# ping 192.168.241.129 #测试网络是否联通 [root@node2 etc]# ping 192.168.241.128 4、修改/etc/hosts文件,在节点设置节点名称 192.168.241.128 node1 192.168.241.129 node2 [root@node1 etc]# source /etc/hosts [root@node2 etc]# source /etc/hosts 5、各个节点是否互通 [root@node1 etc]# ping node2 #测试主机名修改是否成功 [root@node2 etc]# ping node1 6、关闭iptables防火墙 [root@node1 etc]# serviceiptables stop [root@node2 etc]# serviceiptables stop

在各个节点设置iptables 防火墙开机关闭 [root@node1 usr]# chkconfigiptables off #设置iptables开机关闭 [root@node2 usr]# chkconfigiptables off #设置iptables开机关闭7、在各个节点创建共享目录 [root@node1 etc]#mkdir /usr/cluster [root@node2 etc]#mkdir /usr/cluster 在node1上修改/usr/cluster为777 [root@node1 etc]#chmod –R 777 /usr/cluster 8、挂在nfs文件系统 /etc/exports文件配置 在node1(主节点)节点配置 [root@node1 etc]# vi /etc/exports usr/cluster 192.168.241.128(rw) /usr/cluster 192.168.241.129(rw) 启动nfs服务 在node1节点执行 [root@node1 usr]# yum install nfs-utilsrpcbind #安装nfs [root@node1 usr]# service rpcbind start #启动rpc [root@node1 usr]# service nfs start #启动nfs服务 [root@node1 usr]# chkconfigrpcbind on #设置rpcbind开机启动[root@node1 usr]# chkconfignfs on #设置nfs开机启动 在node2节点执行

openstack安装详解

Centos6.4 Openstack 部署 官方推荐环境配置: Step 0: Prerequisites Software:Red Hat Enterprise Linux (RHEL) 6.4, or the equivalent version of one of the RHEL-based Linux distributions such as CentOS, Scientific Linux, etc., or Fedora 19 or later. See also RDO repository info for details on required repositories. Please name the host with a fully qualified domain name rather than a short-form name to avoid DNS issues with Packstack. Hardware: Machine with at least 2GB RAM, processors with hardware virtualization extensions, and at least one network adapter. 看了人家的要求果断放弃6.3,弃暗投明6.4 环境部署:VM+Centos6.4(64bit)(免费的水用谁知道它的好^_^) 看了源代码版的安装虚拟机的一篇配置方法(照抄了)

应用(没用的都关了吧,省的更新一大推没用的,留一个firfox足以) 因为要用到mysql数据库(Mysql全起之,嘿嘿)

关于vc++6.0安装配置MPI

关于在vc++6.0中安装配置MPI 1、下载安装MPICH,安装过程中最好把密码设置为自己的开机密码 关于安装完成后设置 对MPICH2的wmpiregister.exe 设置用户名密码,是计算机名和开机密码 可以来个简单的测试,打开wmpirexec.exe 在application中添加Program Files (x86)\MPICH2\examples中例子,选中“run in an separate window”然后点击execute…(如果有问题,有可能是wmpiregister.exe用户名设置的问题) 现在设置vc++6.0------------------------------------------------------------------ 2、打开vc++6.0 在(工具-选项-目录)把mpich相对应的include和lib添加到include files/library files

3、新建一个工程,可以写mpitest.cpp,为了避免宏定义冲突,在#include”mpi.h”之前要加入#include MPICH_SKIP_MPICXX(这样就可以通过编译) 4、编译通过了,但是链接仍然会出错继续设置 (在工程—>设置->链接中的对象/库模板块后加入mpi.lib)上图 这样就可以通过链接了(每次建工程都要加入mpi.lib的操作)

再贴一个简单的例子吧 #define MPICH_SKIP_MPICXX #include "mpi.h" #include #include double f(double); double f(double a) { return (4.0 / (1.0 + a*a)); } int main(int argc,char *argv[]) { int done = 0, n, myid, numprocs, i; double PI25DT = 3.141592653589793238462643; double mypi, pi, h, sum, x; double startwtime = 0.0, endwtime; int namelen; char processor_name[MPI_MAX_PROCESSOR_NAME]; MPI_Init(&argc,&argv); MPI_Comm_size(MPI_COMM_WORLD,&numprocs); MPI_Comm_rank(MPI_COMM_WORLD,&myid); MPI_Get_processor_name(processor_name,&namelen); /* fprintf(stdout,"Process %d of %d is on %s\n", myid, numprocs, processor_name); fflush(stdout); */ while (!done) { if (myid == 0) { fprintf(stdout, "Enter the number of intervals: (0 quits) "); fflush(stdout); if (scanf("%d",&n) != 1) { fprintf( stdout, "No number entered; quitting\n" ); n = 0; } startwtime = MPI_Wtime();

Openstack搭建

Openstack 云平台配置文档 一基本系统安装 1.Controller: a)硬件: i.CPU: 4核Intel(R) Core(TM) i5 CPU 750 @ 2.67GHz ii.内存:4G iii.硬盘:500G b)系统: Ubuntu11.04 Server 2.Node: a)硬件: i.CPU: 4核Intel(R) Core(TM) i5 CPU 750 @ 2.67GHz ii.内存:4G iii.硬盘:500G b)系统: Ubuntu11.04 Server 二安装Openstack Nova 1.配置网络: a)Controller: i. b)Node: i. 2.配置网桥 a)Controller:

i. ii.重启网络b)Node: i. ii.重启网络

3.NTP同步 a)sudo ntpdate https://www.doczj.com/doc/9d17736190.html, 4.安装配置数据库(Controller) a)OpenStack Nova 需要数据库的支持,这里选用MySQL i.Sudo apt-get install mysql-server b)修改MySQL绑定地址,以便其他的节点服务器也能访问这个数据库: i.Sudo vi /etc/mysql/my.conf ii.#bind-address=127.0.0.1 -> bing-address =0.0.0.0 iii.Sudo /etc/init.d/mysql restart c)创建一个名为nova的数据库,并设置root从任何IP访问的权限和密码: i.Sudo mysql –uroot –pfdse –e ‘CREATE DATABASE nova;’ ii.Sudo mysql –uroot –pfdse –e “GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’WITH GRANT OPTION;” iii.Sudo mysql –uroot –pfdse –e “SET PASSWORD FOR ‘root’@’%’= PASSWORD(‘fdse’);” 5.安装Glance镜像服务(Controller) a)Sudo apt-get install glance 6.安装OpenStack Nova a)Controller: i.Sudo apt-get install rabbitmq-server nova-common nova-doc python-nova nova-api nova-network nova-volume nova-objectstore nova-scheduler nova-compute ii.Sudo apt-get install –y euca2ools iii.Sudo apt-get install –y unzip b)Node i.Sudo apt-get install –y nova-compute nova-volume python-nova nova-common vlan ii.Sudo apt-get install –y unzip iii.Sudo apt-get install –y euca2ools

Win7 64bit系统mpich2并行平台的搭建

Windows7系统下搭建MPI环境 本人想做一个小的机群,做并行计算,搜罗了一些网上的资料,在单机上建了个并行平台,一些小例子都没问题,但是我的计算程序还是没有成功! 我的电脑是Win7 ,64位系统。按照网上所说64位系统应该装64位的mpich2,但是没有找到资源,就装了32位的。程序设计软件是vc++6! 下面讲一下我的安装过程,希望对大家有用!!! 第一项:准备工作 1 安装MPI的SDK——MPICH2 mpich2-1.4.1p1-win-ia32安装程序的下载地址: https://www.doczj.com/doc/9d17736190.html,/research/projects/mpich2/downloads/tarballs/ 1.4.1p1/mpich2-1.4.1p1-win-ia32.msi 注意:网上很多人都说要以管理员身份进行安装,究竟怎样以管理员身份安装呢?这一点浪费了我好长时间,其实也不是很难,只是没有意识到! 点击“开始”——输入cmd(就会看见cmd.exe)——右键——以管理员身份运行——(输入要安装的文件)"msiexec /i e:\mpi\mpich2-1.4.1p1-win-ia32.msi"回车即可,然后按照提示下一步直至安装成功。其中e:\mpi\mpich2-1.4.1p1-win-ia32.msi是指源文件所在位置。(注意空格) 安装成功后会有如下几个文件生成 注意在bin文件中一定要有下面两个应用程序,否则未安装成功。

2 新建用户密码 安装成功后要测试一下,测试前要先注册一个用户(这个用户名须为有效的操作系统管理员账户,密码对应为系统登录密码。这个地方也煞费苦心啊,一定要注意!!!) 开始——控制面板——用户账户和家庭安全——添加或删除用户账户——创建一个新账户(在下面可以看到)——输入用户名(选择用户类型为“管理员”)——创建用户 然后再创建密码就ok啦!如下图所示 这个用户名和密码就是我们测试时需要用的。 3 注册 开始——所有程序——mpich2——wmpiregister 如下图,这个就是刚才注册的用户和密码。输入后点击Register——OK。就会出现一行字,成功注册。

NOVA安装手册

NOV A安装手册目录 chapter1 System Requirements chapter2 NOV A手动安装步骤 2.1安装nova 相关软件包 2.2 安装MySQL数据库 2.3 进行网络环境配置 2.4 创建工程并配置环境 2.5 上传镜像并运行一个实例 chapter3 配置Glance镜像服务器chapter4 安装Dashboard远程操作界面chapter5 使用Puppet部署OpenStack环境chapter6 FAQ 常见问题及解决办法

chapter1 System Requirements y硬件: x86系列机器,AMD处理器 y操作系统:: 安装Ubuntu 10.04(LTS)版本 y网络: 官网推荐1000 Mbps,提供nova-network服务的节点需要配置两块网卡。 OpenStack支持以下三种网络架构:flat,DHCP,VLAN&DHCP y数据库: 采用MySQL数据库 y权限: 需要使用root权限进行安装

chapter2 NOV A手动安装步骤 2.1安装nova 相关软件包 y下载python软件包,完成后需要run update: sudo apt-get install python-software-properties sudo add-apt-repository ppa:nova-core/release sudo apt-get update y安装Message Queue Server,Rabbit MQ及python dependencies: sudo apt-get install -y rabbitmq-server sudo apt-get install –y python-greenlet python-mysqldb y根据节点的不同类型,选择安装所需要的nova-packages和dependencies:sudo apt-get install -y nova-common nova-doc python-nova nova-api nova- network nova-objectstore nova-scheduler nova-compute y安装euca2ools 工具包: sudo apt-get install –y euca2ools unzip 2.2 安装MySQL数据库 OpenStack Nova的数据库有多种选择如MySQL 和 PostgreSQL,参照官方手册这里选用 MySQL。另外,数据库需要安装在controller节点上。 y安装mysql-server : bash MYSQL_PASS=nova NOV A_PASS=notnova cat <

MPICH 的安装使用和MPI原理分析

MPICH 的安装使用和MPI原理分析MPICH的安装和使用 运行mpich2-1.3.2p1-win-ia32.msi,填写passphrase,默认为behappy,选择默认路径安装。 运行wmpiregister, 注册当前的管理员用户。 使用建立和编译MPI程序:新建一个项目,设置项目属性,将MPICH2\lib 目录添加到C++连接的library path内,将MPICH2\include 目录添加到C++链接的Include Path内,在程序属性的链接器->命令行中添加mpi.lib,编译和生成程序。 将结果exe程序拷贝到MPICH2\bin 目录下,运行mpiexec程序,在Application内添加要我们运行的exe程序。选择进程数目,然后Execute,就会显示多个进程的执行情况。 MPICH程序原理 MPI过程就好像一个几步的过程调用,通过初始化,设置进程数,运行进程,进程间发送和接受消息,结束这些步骤来完成。 每个步骤都有基本函数相对应。 MPI_Init (*argc,*argv);//初始化MPI环境 MPI_Comm_size (comm,*size) ;//返回同组内进程数 MPI_Comm_rank (comm,*rank) ;//返回该进程在组内的进程号,从0开始 MPI_Send(buf,count,datatype,dest,tag,comm); //向目标进程发送buf内的count个datatype数据 MPI_Recv(buf,count,datatype,source,comm,status);//接收消息 MPI_Finalize ();//结束 MPIπ的计算程序说明 #include "mpi.h" #include #include double f(double x) { return(4.0/(1.0+x*x)); } int main (int argc,char * argv[]) { int done =0,n,myid,numprocs,i; double PI25DT=3.141592653589793238462643; double mypi,pi,h,sum,x;

MPI并行计算环境的建立

MPI并行计算环境的建立 一、配置前的准备工作 假设机群是3个节点。 1.安装Linux(CentOS 5.2)系统,并保证每个节点的sshd服务能正常启动。 笔者并没采用真实的3台机器,而是利用虚拟机(VMware Workstation6.5)在一台装有XP系统的机器上安装多个Linux系统进行模拟。 注意事项: (1)因为笔者采用mpich2-1.3.2p1.tar.gz,此版本对gcc、autoconf等软件包版本要求较高,为避免出错,尽量安装最新的Linux系统。 (2)在用VMware Workstation安装Linux系统时可能会遇到磁盘类型不兼容的问题,笔者采用的版本就出现了这样的问题,解决要点如下: a.启动Workstation选择创建定制的虚拟机; b.SCSI适配器类型选LSI Logic (Linux内核在2.4以下的选择BusLogic); c.选择虚拟磁盘类型(IDE)。 (3)安装VMware Workstation tools。 Linux系统启动后,选择菜单栏——虚拟机——安装VMware tools,按照提示将相应的安装包复制到你想要的目录下,执行命令: tar zxvf vmware-tools.tar.gz cd vmware-tools(进入解压目录) ./install.pl(因版本不同,名字不一定相同,读者注意,执行名字类似的即可) 2.为每个节点分配IP地址,IP地址最好连续分配,如192.168.1.2、192.168.1.3、192.168.1.4、......。(不要分配192.168.1.1) 3.配置/etc/hosts文件,该文件可以实现IP地址和机器的对应解析,所有节点的该文件均要按下面的内容修改: 192.168.1.2 node1 192.168.1.3 node2 192.168.1.4 node3

OpenStack安装配置

OpenStack安装配置篇 OpenStack是一套用来管理虚拟机的平台软件。它不是一个单一的软件,而是集成了很多个组件用来协同合作。简单的来说,譬如有十台服务器,在VMware的情况下,我们在每台服务器上安装esx或者esxi,然后装一台vcenter,在vcenter的管理界面里把十台服务器的esx通过域名或者ip加入,就能在vcenter里面统一管理。类似的,红帽也有virsh 这种管理虚拟机的程序。 在这里我不介绍其他的云平台的管理软件,只是介绍如何从技术角度来使用OpenStack。如果要作为生产环境的话,你还需要考虑更多,譬如架构,网络拓扑,存储的方式,节点的分布等等。 在本篇文章里,我将介绍采用ec2兼容认证的方式。所有组件安装在一台controller 上。 关键字定义 控制端:类似vcenter的管理系统。 节点:类似安装了esx的服务器。 nova组件:安装在节点上,让节点能按照控制端的命令来操作节点上的虚拟机或者存储。 glance组件:用来管理镜像。 环境准备 ubuntu 11.10,服务器双网卡 步骤 安装完基本的操作系统后 $ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get install bridge-utils #安装网桥软件 配置网络接口

在这里我的架构是eth0连接了外网,即我們可以访问的网口。eth1做了网桥,和节点之间通过一个交换机连接。这样的好处是,内部节点和控制器的流量都走br100的交换机,而不会影响虚拟机上的应用使用的网络。 $ sudo vi /etc/network/interfaces auto eth0 iface eth0 inet static address 192.168.200.21 netmask 255.255.255.0 network 192.168.200.0 broadcast 192.168.200.255 gateway 192.168.200.10 auto br100 iface br100 inet static bridge_ports eth1 bridge_stp off bridge_maxwait 0 bridge_fd 0 address 10.200.200.2 netmask 255.255.255.0 $ sudo /etc/init.d/networking restart 初期准备工作做好,接下来就是要安装关于nova,glance等组件 $ sudo apt-get install -y rabbitmq-server #安装MQ消息組件 $ sudo apt-get install -y python-greenlet python-mysqldb #安装Python dependencies 接下来安装各个nova组件及依赖 $ sudo apt-get install nova-volume nova-vncproxy nova-api nova-ajax-console-proxy $ sudo apt-get install nova-doc nova-scheduler nova-objectstore

MPICH在windows下搭建集群系统

一、首先自己的计算机上进行测试 1、命令行方式: 注册:mpiexec -register 输入你当前登陆帐户名和密码,不注册的话每次执行程序都要求输入帐户和密码。 运行:mpiexec -n 2 helloworld.exe 这里用两个进程执行当前目录下的helloworld.exe,如果在linux下就应该写为mpiexec -n 2 ./helloworld.exe 2、GUI方式: 注册:开始菜单=>所有程序=>MPICH2=>wmpiregister.exe 填上当前登陆用户名和密码,点击“register”将信息写入磁盘,再点“ok”关闭程序。若先点击“ok”则是写入内存,重启机器后还要再注册。想更换其他用户运行mpi程序时,点“remove”将原来的信息删除。 运行:开始菜单=>所有程序=>MPICH2=>wmpiexec.exe 在Application处选择可执行程序,在Number of processes处选择用几个进程。点“Execute”执行,“B reak”终止程序。下面有个选项“more options”,选中后有更多的参数可选用,包括用配置文件执行程序,单机测试没必要写配置文件了吧。 二、加上多台计算机上测试 首先、在其他的机器上也安装mpich2,版本不应该相差太远,最好同样版本,如mpich2-1.0.6。 其次、每个机器上的帐户要一样,如administrator,更重要的是密码也要一样!希望新手要注意:用户和密码都要求一致。 再次、一定要把所有机器的防火墙都关掉,windows防火墙最好也关掉,不然可能相互连接不上,或者执行的时候有奇怪的错误。

win7下vs+ivf+mpi配置

Win7/win8系统下visual studio+intel visual fortran 的安装 & windows 下mpi配置 第一部分所需组件: 虚拟光驱daemon tools(免费的lite版就可以)或者Ultra iso Visual studio 2012.iso 安装文件更新补丁文件patch_KB2781514.exe,没有补丁,装完Visual Studio之后点击更新程序提示进行更新也可以。 Intel visual fortran composer XE 2013 及注册.lic文件 Mpi实现(32位机和64位机选用) 第二部分软件安装 先安装Visual studio 2012再安装Intel visual fortran,最后安装mpich2。Visual studio 2012的安装, 1、安装虚拟光驱daemon tools 图略。 2、载入VisualStudio2012镜像

3、载入之后再磁盘窗口可以看到下图 4、点击进入,双击运行安装程序 5、接下来就是30分钟左右的等待时间(vs的确很庞大。。)

6、安装完vs2012之后,在开始菜单找到程序运行,第一次运行默 认环境设置选择C++,如图

7、这时,右下角会出现更新提示,点击进行更新 8、这两个更新是比较慢的,可以省略这一步,直接安装前面提到 的补丁patch_KB2781514.exe 直接双击安装,大概5分钟装完。 9、至此VS2012安装完毕,注意补丁是必须的。 IVF的安装 1、直接双击安装文件安装, 2、下一步,下一步,直到Activation,选择choose alternative activation

相关主题
文本预览
相关文档 最新文档