150 likes | 297 Views
并行程序实验环境和工具. 主要内容. 并行计算环境简介 在大型机或集群上进行并行编程 在多核 PC 上进行并行编程 实验要求及上机作业. 一 . 并行计算环境简介. 常见的并行计算设备: 大型 / 超级计算机 计算机集群系统 多核 PC 高性能中心和超算中心拥有的大型计算设备: 曙光 4000A 超级计算机 HP RX2600 集群系统 HP Superdome 服务器 IBM JS22 刀片服务器 KD-50-I 龙芯万亿次机 主页: http://scc.ustc.edu.cn. 常见的并行计算软件环境. 超级计算机或集群系统
E N D
并行程序实验环境和工具 国家高性能计算中心(合肥)
主要内容 • 并行计算环境简介 • 在大型机或集群上进行并行编程 • 在多核PC上进行并行编程 • 实验要求及上机作业 国家高性能计算中心(合肥)
一.并行计算环境简介 • 常见的并行计算设备: • 大型/超级计算机 • 计算机集群系统 • 多核PC • 高性能中心和超算中心拥有的大型计算设备: • 曙光4000A超级计算机 • HP RX2600集群系统 • HP Superdome服务器 • IBM JS22刀片服务器 • KD-50-I龙芯万亿次机 主页:http://scc.ustc.edu.cn 国家高性能计算中心(合肥)
常见的并行计算软件环境 • 超级计算机或集群系统 • 大多使用Unix/Linux/Solaris操作系统 • 也可以使用Windows Cluster Server • 使用专门的作业调度系统,如Torque • 多核PC • Windows 2000/2003/XP/Vista • 大都使用MS Visual Studio开发 • 当然,也可以使用Linux • MPI和OpenMP只是一种标准,它们往往以各种形式运行在这些平台之上。例如可以用MPICH2 + VS2005实现MPI在Windows上的开发。 • 重点: • MPI和OpenMP在曙光4000A上的具体实现 • MPI和OpenMP和Windows多核PC平台上的具体实现 国家高性能计算中心(合肥)
一.在大型机或集群上进行并行编程 • (校内)曙光4000A超级计算机(推荐) • IP:210.45.114.190 • 用户名:guest • 密码:guest • (校内)计算机系414机房Cluster • IP:202.38.79.61 • 用户名:guest • 密码:guest • (公网)Unix体验中心 • http://www.unix-center.net/ • 提供Unix/Linux环境,可以体验各种软件开发。如C/C++,Fortran,Java,Ruby,Python,Perl,Common Lisp 等 • 可以使用OpenMP,没有MPI环境。 国家高性能计算中心(合肥)
登录及文件传输 • 远程登录到Unix/Linux主机上,需要一个支持SSH/SSH2)的虚拟终端软件。常见的有: • Fterm • Putty • SecureCRT • SSH Secure Shell • 上传下载文件需要支持SFTP(SSH)的FTP客户端。常见的有: • SSH Secure Shell • CuteFtp pro • WinSCP 国家高性能计算中心(合肥)
Fterm的设置 • Fterm是常见的BBS浏览终端。 • 使用Fterm登录远程计算机,需要打开SSH选项 • Fterm支持预定义脚本,比较方便 国家高性能计算中心(合肥)
Putty的设置 • Putty是一个小巧的虚拟终端,只有一个500k的执行文件,不需安装即可运行 国家高性能计算中心(合肥)
使用CuteFTP Pro传输文件 • CuteFTP是常见的FTP工具之一。 • 选择站点类型:SFTP using SSH2。 • 登录到远程计算机后上传下载的操作和普通FTP站点一样。 国家高性能计算中心(合肥)
基本操作 • 使用曙光4000A作为主要的实验平台。 • 初次登陆后,在guest根目录下建立以学号命名的文件夹。学号字母大写。mkdir PB******** • 编辑代码:使用vi,nano或FTP上传代码文件 • nano较容易,全屏编辑模式下可以参考屏幕底部的帮助信息。 • vi功能强大但需要时间才能掌握。 • 可以使用FTP客户端直接上传编辑好的代码文件。 国家高性能计算中心(合肥)
编译程序 • MPI程序的编译:mpicc -o test test.c • OpenMP程序的编译:omcc -o test test.c或者pgcc –mp test test.c 或者gcc4 -fopenmp test.c -o test test.c • PGI编译器 • PGI是一个强大的高性能并行编译器,支持Fortran, C和C++。 • pgcc –mp表示编译OpenMP程序。 • 注意:目前的版本在使用OpenMP的浮点数归约时有错误,用pgcc时请注意避免使用浮点数的归约。 国家高性能计算中心(合肥)
Omcc的选项 • -h 查看帮助 • -Idir指定目录dir,以查找include文件 • -llibrary连接时使用名为library的库,例如-lm • -O 自动优化 • -omp 忽略所有的OpenMP制导语句 • -omnicc=backend-cc指定后端C编译器的可执行文件名,如果没有指定,将使用默认C编译器 • 更多文档参考www.openmp.org • 注意:在曙光4000A上使用omcc编译时,代码中定义变量只能在函数开始时,不能在其他语句之后。 国家高性能计算中心(合肥)
PGI编译器 • PGI是一个强大的高性能并行编译器,支持Fortran, C和C++。加上–mp参数可以编译OpenMP程序。 • 注意:目前的版本在使用OpenMP的浮点数归约时有错误,用pgcc时请注意避免使用浮点数的归约。 • pgcc包含很多优化选项,使用-help查看所有选项和说明。在曙光4000A上推荐加上参数-fast -Minline -tp=barcelona-64 -Mcache_align 国家高性能计算中心(合肥)
运行程序 • MPI程序的运行mpirun –np x test其中整数x代表要使用的进程数在曙光4000A上x=1~32 • OpenMP程序的运行 设置线程数:export OMP_NUM_THREADS=x 运行:./test其中整数x代表使用的线程数若在程序中指定了线程数,则不需要再设置在曙光4000A上x=1~8 国家高性能计算中心(合肥)
Unix/Linux常用命令 • 列目录和文件:ls • 创建目录:mkdir • 显示文件内容:cat • 删除文件:rm,删除目录 rm -r • 移动(更名)文件:mv • 拷贝文件:cp,拷贝整个目录 cp -r • 改变目录:cd,返回上级目录cd .. • 文本编辑:vi,vim,nano • 中止程序:ctrl+c • 复制粘贴:ctrl/shift + insert 国家高性能计算中心(合肥)