10 2024 档案
摘要:#include <stdio.h> #include <mpi.h> #include <unistd.h> #include <stdlib.h> #define S 4 //分块方阵的大小 #define RB 8 //行方向分块维数 #define B RB*RB //并行进程数 #defi
阅读全文
摘要:源代码 /* 问题:用蒙特卡洛算法估计π的值。在边长为r的正方形中画内切圆, 随机N个点,用圆内的点占正方形内所有点数量的比例估计圆的面积, 计算估计的π的值。 */ #include <stdio.h> #include <time.h> #include <math.h> #include <m
阅读全文
摘要:雅可比算法原理:如下图对方阵非边界元素求上下左右元素的均值,全部计算元素的数值计算完成后更新矩阵,进行下一次迭代。 测试目标:用MPI实现对8*8方阵雅可比算法迭代并行计算,用重复非阻塞的通信方式 #include <stdio.h> #include <mpi.h> #include <unist
阅读全文
摘要:测试目标:测试for循环展开优化的提升效率 #include <cstdio> #include <ctime> #include <cstdlib> /* 测试一维和二维循环展开效率区别 */ #include <cstdio> #include <ctime> #include <cstdlib
阅读全文
摘要:目标:Darknet 源码cpu矩阵乘法函数 gemm_nn 优化。参数说明:lda A的列数; ldb B的列数; ldc C的列数; M C的行数; K A的列数 测试方法:Darknet源码,makefile文件添加编译选项 -pg,编译后得到可执行程序 darknet,运行可执行程序: ./
阅读全文
摘要:一、Loop循环优化有以下几种 循环合并:两个循环合并到一个循环中 循环展开:循环内的并行技术 循环交换:改变多维数组的空间访问顺序,改善空间局部性,提高cache命中率 循环分布:将一个循环拆分为多个循环,使编译器可以进行向量化优化 循环不变:循环中不发生变化的量提到循环外面,避免重复计算 循环分
阅读全文
摘要:一、程序优化 CPU程序优化 1.1 体系结构:CPU流水线技术、高速缓指令集、CPU超标量设计 1.2 并行技术:MPI、OpenMP、SIMD、汇编 1.3 算法:算法优化 GPU程序优化 1.1 GPU的体系结构(计算核心、高带宽、多级存储) 1.2 GPU并行框架:CUDA、OpenCL、O
阅读全文