Transcript Linux

Linux并行计算平台搭建及应用
王彦棡
2010年5月
主要内容
•
基础知识
•
MPI的配置
•
如何使用Linux并行计算环境
基础知识
Linux是一套免费使用和自由传播的类
Unix操作系统,它主要用于基于x86系列
CPU的计算机上。这个系统是由世界各地
的成千上万的程序员设计和实现的。其目
的是建立不受任何商品化软件的版权制约
的、全世界都能自由使用的Unix兼容产品。
基础知识
 /bin: 存放常用命令
 /etc: 系统管理所要的配置文件和子目录
 /home: 存放用户主目录的地方
 /lib: 系统基本的动态链接库
 /opt: 可以选择的
 /proc: 虚拟系统, 是由系统初起时内存中
产生的
 /tmp: 存放各程序执行时所产生的临时文件
 /usr: 占空间最大的目录,用户的很多应用
程序和文件几乎全在这个目录中
常用cmd命令操作
– 常用目录文件操作:
ls/cd/rm/mkdir/cp/mv/cat/tar
– 编辑器vim。
– man手册工具。
– 对于删除修改等危险操作和不熟的
命令切记要谨慎执行。
主要内容
•
基础知识
•
MPI的配置
•
如何使用Linux并行计算环境
设置无密码的远程登录-SSH (基于公钥认证方式)
创建密钥对
执行:
ssh-keygen -t dsa (或rsa,则之后对应文件名dsa
改为rsa)
遇到问题直接回车即可。
该命令将会在~/.ssh目录下创建id_dsa和id_dsa.pub两个密
钥文件,其中id_dsa保存私钥,id_dsa.pub保存公钥。
设置无密码的远程登录-SSH
在目标机器上对本机公钥授权
将上一步中本机生成的公钥文件中的内容,复制到
目标机器的~/.ssh/authorized_keys文件中,则可
以实现本机该用户对目标机器的无密码访问。
•scp ~/.ssh/id_dsa.pub <target>:tmpfile
•ssh <target> “cat tmpfile >> /.ssh/authorized_keys”
*注:如果之前共享了/home目录,则每台机器上的authorized_keys文件
实际是同一个,只需在本机操作该文件即可。
MPICH安装配置
•下载MPICH(最新版1.2.7p1):
http://www-unix.mcs.anl.gov/mpi/mpich1/downloads/mpich.tar.gz
•配置(./configure [config-args])
•编译(make)
•安装(make install)
•简单测试(编译和执行例程)
MPICH安装配置
一个典型配置实例:
./configure -cc=gcc -c++=g++ -fc=gfortran -f90=gfortran \
-rsh=ssh \
--with-device=ch_p4 \
--enablef77 \
--enable-f90 \
--prefix=/opt/mpich
*注1:如使用gfortran编译器进行Fortran语言绑定,需要事先设定环境变
量export F77_GETARGDECL=" "。
*注2:make install安装时可能会在复制pi3f90报错,这实际不影响安装,
是由于src/fortran/configure中没能自动检测到Fortran 90程序后缀造成的,
可在该文件相关位置进行修改,使其产生正确输出。
MPICH2安装配置
一个典型配置实例:
./configure --prefix=/usr/local/mpich2 \
--enable-cxx \
--enable-f77 \
--enable-f90 \
CC=icc \
CXX=icpc \
F77=ifort \
F90=ifort
*注:MPICH2的C++接口实现中存在一个BUG,这会造成在使用mpicxx
编译C++程序时编译器报告SEEK_SET等宏被重复定义的告警信息,设置
编译选项-DMPICH_IGNORE_CXX_SEEK可以忽略这个问题。
主要内容
•
基础知识
•
MPI的配置
•
如何使用Linux并行计算环境
如何登录和上传文件
Windows本身不支持SSH登录,必须使用第三方模拟终
端程序登录系统,用支持STFP或SCP的软件上传文件。
PUTTY
NetTerm/SecureNetTerm
Xmanager/SecureCRT.....
Linux系统在不同的桌面环境下启动终端后,直接执行
ssh命令远程登录,用scp命令远程拷贝文件。
Gnome-terminal
Xterm
Konsole
常用路径变量
对于BASH,登录之后执行以下两个配置文件:
.bash_profile
.bashrc
需要着重注意的几个环境变量:
PATH 可执行程序搜索路径
MAN_PATH man工具手册搜索路径
LD_LIBRARY_PATH 动态链接库搜索路径
环境变量的设置会影响到编译时是否使用了正确的编
译环境,是否能生成正确的可执行文件。
PBS
 提交作业:
qsub -l nodes=<x>:ppn=<y> -q <queuename>
scriptfile
 查看和跟踪作业:
qstat [-f] [jobid]
tracejob <jobid>
 删除作业:
qdel <jobid>
 作业输出信息:
scriptfile.o(jobid) / scriptfile.e(jobid)
LSF
 提交作业:
bsub -n <cpus> -q <queuename> -o <output>
exefile args
 查看和跟踪作业:
bjobs [-l] [jobid]
bhist <jobid>
 删除作业:
bkill <jobid>
 作业输出信息:
bsub中output指定
并行环境下应用软件安装移植
如软件带有configure自动配置程序,选择合适的参数
进行配置,再进行make编译。
典型配置安装过程:
tar zxvf <...>.tar.gz 解压
(cd xxxxxx)
./configure [configargs]
make
make install
查看README、INSTALL文件或是doc目录下相关文档,
或是执行configure --help可以了解configure配置的
相关参数含义和选项。
并行环境下应用软件安装移植
如无configure程序,找到关键的Makefile文件,并根
据当前的实际环境进行修改后执行make进行编译。
Makefile文件中常遇到的一些变量有:
CC/CXX C/C++编译器
FC/F77/F90 Fortran/Fortran77/Fortran90(95)编
译器
CFLAGS/FFLAGS 默认C/Fortran编译参数
LDFLAGS 默认连接器参数
MPICC(CXX,FC,F77,F90) 对应的MPI编译器
XXXLIB(S) 一些需要进行链接的函数库
修改完毕后执行make命令进行编译,生成可执行文件。