一杯清酒邀明月
天下本无事,庸人扰之而烦耳。
摘要: 按行分配 1 #include<stdio.h> 2 #include<mpi.h> 3 #include<stdlib.h> 4 #include<omp.h> 5 6 #define N 100 7 8 //time_t start,end;//开始和结束时间 9 double start,en 阅读全文
posted @ 2023-06-07 19:05 一杯清酒邀明月 阅读(124) 评论(0) 推荐(0)
摘要: 按行分配 思路和MPI基本类似,不过OpenMP是共享内存的,不必做分发和聚集,申请的矩阵空间就不必是完全连续的。 1 #include<stdio.h> 2 #include<omp.h> 3 #include<stdlib.h> 4 5 #define N 400 //规模(方针的阶数) 6 i 阅读全文
posted @ 2023-06-07 11:39 一杯清酒邀明月 阅读(91) 评论(0) 推荐(0)
摘要: 简述归约 归约操作在MPI里也学过,不过那时候还不太熟悉这种操作。当时只知道MPI_Reduce可以把全局求和和集合通信封装起来,非常方便。实际上将相同的二元归约操作符重复地应用到一个序列上得到结果的计算过程都可以称为归约。 python里那个难理解的reduce()函数也就是归约: 1 >>> f 阅读全文
posted @ 2023-06-07 11:37 一杯清酒邀明月 阅读(326) 评论(0) 推荐(0)
摘要: MPI是可以针对分布式内存,在进程级别实现并行的API;OpenMP则是针对共享内存,在线程级别实现并行的API。 基本使用 不同于MPI的init和finalize,OpenMP用携带了parallel指令的预处理指令指示接下来的一个代码块被多个线程执行。 OpenMP预处理指令-(携带)->Op 阅读全文
posted @ 2023-06-07 11:33 一杯清酒邀明月 阅读(517) 评论(0) 推荐(0)
摘要: 从parallel到parallel for parallel for指令和parallel指令是不同的。 parallel parallel指令只是指明后面的代码块被并行执行,对共享下标的访问次序无法控制和预知: 1 #include<stdio.h> 2 #include<stdlib.h> 3 阅读全文
posted @ 2023-06-07 11:27 一杯清酒邀明月 阅读(502) 评论(0) 推荐(0)
摘要: 前言这里记录在VS和QtCreater的环境里如何打开OpenMP方法。 一、VS环境下在VS环境下,进入项目属性 =》 C/C++ =》 语言 =》 OpenMP支持 =》 下拉菜单选择是 二、QtCreater环境下在“XXX.pro”工程文件中添加如下代码 1 QMAKE_CXXFLAGS+= 阅读全文
posted @ 2023-06-07 11:20 一杯清酒邀明月 阅读(667) 评论(0) 推荐(0)