12、OpenMP与MPI并行计算:原理、实践与性能分析

OpenMP与MPI并行计算原理、实践及性能分析

OpenMP与MPI并行计算:原理、实践与性能分析

在并行计算领域,OpenMP和MPI是两个重要的工具,它们分别适用于共享内存和分布式内存的并行编程。下面将详细介绍OpenMP的矩阵向量乘法、FFT的共享内存版本,以及MPI在分布式内存机器上的应用。

1. OpenMP矩阵向量乘法
1.1 SGEFA的共享内存版本

在SGEFA的共享内存版本中,采用了Fortran或列主序存储约定,即列按顺序存储在内存中,而非C语言的行主序。以下是多重SAXPY操作(msaxpy)的代码:

#define ym(p,q) (y+p+q*n)
void msaxpy(nr.nc,a,n,x,y)
int nr.nc.n;
float *a,*x,*y;
{
    /* multiple SAXPY operation, wpp 29/01/2003 */
    int i,j;
    #pragma omp parallel shared(nr,nc,a,x,y) private(i,j)
    #pragma omp for schedule(static,10) nowait
    for(j=0;j<nc;j++){
        for(i=0;i<nr;i++){
            *ym(i,j) += a[j*n]*x[i];
        }
    }
}
#undef ym

在准备图4.13的数据时,测试了OpenMP参数的几个变体,最终选择 schedule (static, 10) nowait

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值