我们来讲解以下如何才能编写并行程序,以及如何编译运行

我们来讲解以下如何才能编写并行程序,以及如何编译运行,第1张

我们下面以C 语言为例。

具体语法规则可参看《高性能计算并行编程技术-MPI 并行程序设计》一书。

mpicc -o outfilename cpi.c

其中outfilename 为编译后的输出文件,cpi.c 为源代码.

可将cpi.c 下载后上传的自己目录下编译.

例如:mpicc -o cpi cpi.c

如没有安装OpenPBS 则:

mpirun -np 4 cpi

否则:(一般安装了)

之后需写一作业提交脚本.例如:submit 内容如下:

#PBS -l nodes=nodes number

#PBS -N jobname#PBS -j oecd /home/xmin/Project

/usr/local/bin/mpiexec cpi

其中 #PBS -l nodes=nodes number 为指定几个节点计算.如: nodes=4

#PBS -N jobname 为用户命名的提交作业名称.如: #PBS -N xmin

#PBS -j oe 为结果和错误输出同文件.如无此项则分别在两个文件中.

cd /home/xmin/Project 编译后的输出文件所在路径(从根目录开始).

/usr/local/bin/mpiexec cpi 为mpiexec 所在路径.

下面是完整例子:

#PBS -l nodes=4

#PBS -N xmin#PBS -j oecd /home/xmin/Project

/usr/local/bin/mpiexec cpi

提交脚本如下:

qsub submit得到如下:3565.isc.math.nankai.edu.cn

此为你的作业编号.

这样你就可得到类似xmin.o2666 的文件,打开即可看到结果.

你还可以查询作业提交情况.命令如下:qstat

并行处理技术主要有:时间并行、时间并行和空间并行、空间并行。并行处理(ParallelProcessing)是计算机系统中能同时执行两个或多个处理的一种计算方法。并行处理可同时工作于同一程序的不同方面。并行处理的主要目的是节省大型和复杂问题的解决时间。为使用并行处理,需要对程序进行并行化处理,也就是说将工作各部分分配到不同处理进程(线程)中。

(1)时间重叠。在并行性概念中引入时间因素,即多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转时间而赢得速度。

(2)资源重复。在并行性概念中引入空间因素,以数量取胜的原则,通过重复设置硬件资源,大幅度提_计算机系统的性能。随着硬件价格的降低,这种方式在单处理机中广泛使用,而多处理机本身就是实施“资源重复”原理的结果。因此资源重复可称为空间并行技术。

(3)资源共享。这是一种软件方法,它使多个任务按一定时间顺序轮流使用同一套硬件设备。例如多道程序、分时系统就是遵循“资源共享”原理而产生的,资源共享既降低了成本,又提高了计算机设备的利用率。上述三种并行性反映了计算机系统结构向高性能发展的自然趋势:一方面在单处理机内部广泛运用多种并行性措施,另一方面发展各种多计算机系统。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11091310.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-13
下一篇2023-05-13

发表评论

登录后才能评论

评论列表(0条)

    保存