180 likes | 433 Views
Linux 并行计算平台搭建及应用 王彦棡 2010 年 5 月. 主要内容. 基础知识 MPI 的配置 如何使用 Linux 并行计算环境. 基础知识. Linux 是一套免费使用和自由传播的类 Unix 操作系统,它主要用于基于 x86 系列 CPU 的计算机上。这个系统是由世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的 Unix 兼容产品 。. 基础知识. /bin: 存放常用命令 /etc: 系统管理所要的配置文件和子目录 /home: 存放用户主目录的地方
E N D
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命令进行编译,生成可执行文件。