
OpenMP
OpenMP学习笔记。
大桔骑士v
微软程序员,B站账号:大桔骑士v
展开
-
【OpenMP学习笔记】5:OpenMP与MPI混合做方阵向量乘法
按行分配#include<stdio.h>#include<mpi.h>#include<stdlib.h>#include<omp.h>#define N 100//time_t start,end;//开始和结束时间double start,end;int main(int argc,char* argv[]){ ...原创 2018-03-05 00:34:34 · 3850 阅读 · 2 评论 -
【OpenMP学习笔记】4:传统形式的方阵向量并行乘法
按行分配思路和MPI基本类似,不过OpenMP是共享内存的,不必做分发和聚集,申请的矩阵空间就不必是完全连续的。#include<stdio.h>#include<omp.h>#include<stdlib.h>#define N 400 //规模(方针的阶数)int i,j;//通用游标double **mat=NULL;//矩阵对象...原创 2018-02-27 19:15:08 · 1033 阅读 · 0 评论 -
【OpenMP学习笔记】3:循环并行化和parallel for指令
从parallel到parallel forparallel for指令和parallel指令是不同的。parallelparallel指令只是指明后面的代码块被并行执行,对共享下标的访问次序无法控制和预知:#include<stdio.h>#include<stdlib.h>#include<omp.h>int main(int...原创 2018-02-23 12:54:01 · 5258 阅读 · 0 评论 -
【OpenMP学习笔记】2:OpenMP中的归约和reduction子句
简述归约归约操作在MPI里也学过,不过那时候还不太熟悉这种操作。当时只知道MPI_Reduce可以把全局求和和集合通信封装起来,非常方便。实际上将相同的二元归约操作符重复地应用到一个序列上得到结果的计算过程都可以称为归约。python里那个难理解的reduce()函数也就是归约:>>> from functools import reduce>>&g...原创 2018-02-23 03:11:02 · 12477 阅读 · 3 评论 -
【OpenMP学习笔记】1:基本使用和critical指令
MPI是可以针对分布式内存,在进程级别实现并行的API;OpenMP则是针对共享内存,在线程级别实现并行的API。基本使用不同于MPI的init和finalize,OpenMP用携带了parallel指令的预处理指令指示接下来的一个代码块被多个线程执行。OpenMP预处理指令-(携带)->OpenMP指令-(携带)->OpenMP指令的子句。隐式路障是OpenMP的...原创 2018-02-23 01:35:42 · 6778 阅读 · 0 评论