APP下载

复化梯形求定积分的并行计算方法

2016-09-22杨菁蓓

环球市场 2016年9期

杨菁蓓

中国石油大学(华东)理学院

复化梯形求定积分的并行计算方法

杨菁蓓

中国石油大学(华东)理学院

使用复化梯形法求积分,需要将区间[0,1]进行分割,分割数越大求得的积分近似值就越精确。但是当分割数N较大时,算法的计算量会比较大,算法的运行效率比较低。可以通过并行计算的方法提高运算的速度。这样在达到较高计算精度的同时提高了算法运行的速度。

复化梯形法;并行计算;定积分

一、某问题的串行算法描述

1.1实现梯形积分法的基本步骤

(1)输入区间[a,b]的端点a,b值以及分割数N;

(2)将区间[a,b]等分成N个小区间,每一个小区间的长度h=(b-a)/N;

(3) 计算每一个等分点的函数值yi=f (a+ih)(i=0,1,…,N );

二、该问题的并行算法描述

2.1基于API的多核并行算法的设计

Windows系统提供很多API接口,可以利用WINAPI定义线程函数,函数内部设计好改线程所要进行的工作,然后主函数里创建线程,将线程函数导入创建好的线程中运行,计算根据创建的线程数目,调用相应数目的CPU进行计算,保证每个CPU运行一个线程,最终计算结束后将结果合并可得到正确结果。

2.2基于OpenMP的多核并行算法的设计

利用编译指导语句parallelfor并行原理采用工作分配的执行方式,将循环所需要工作量按一定方式分配到各个执行线程,所有线程执行工作总合是原串行完成的工作量。此方式对一个确定并且完整的for循环进行分割,分割成多段在不同CPU上运行。

可以将(2)分割成若干段独立的计算,每段计算完成后进行整理合并,在具体计算的过程中可以根据CPU的个数将多项式分成合适的个数。……

登录APP查看全文