并行计算设计与导论
文章平均质量分 77
小河豚oO
我很懒,还没有添加任何简介。
展开
-
并行计算 SLIC超像素算法(三) OpenMP优化(三)总结与运行结果加速比
目录介绍优化思路总结1. 面向对象与面向过程优化2.化赋值计算操作3.使用缓存替代计算4.优化cache命中率5. 优化多次相同的操作 smid6. 多线程并行7. 对于区域生长算法的并行优化8.信仰优化运行结果及加速比介绍 在这篇博客中,我会总结我们在OpenMP并行优化过程中遇到的问题以及对一些思路的总结,没看过上一篇博客并行计算 SLIC超像素算法(三) OpenMP优化(二)具体优化过程的,建议先看一下才能更好的理解。最后的...原创 2021-12-13 12:50:02 · 1651 阅读 · 0 评论 -
并行计算 SLIC超像素算法(三) OpenMP优化(二)具体优化过程
目录介绍运行环境算法设计和优化思路1.将RGB颜色空间转化为LAB颜色空间优化思路具体实现2. 计算梯度并寻找聚类中心优化思路具体实现3.对邻域的像素点进行聚类优化思路具体实现4.更新聚类中心连接孤立像素优化思路具体实现介绍在这篇文章中,我将进一步介绍有关OpenMP优化SLIC超像素算法具体步骤,希望大家能看到最后,有所收获。运行环境 操作系统版本 Windows 10、 Ubuntu 20.04...原创 2021-12-13 12:28:17 · 3579 阅读 · 18 评论 -
并行计算 SLIC超像素算法(三) OpenMP优化(一)
介绍 这篇博客,我将着手与对于SLIC超像素算法进行并行优化,从而降低运行时间,主要并行算法是利用OpenMP,OpenMP编程也被称为 “傻瓜式” 并行优化编程(对我来说比较友好)。 在介绍OpenMP优化代码之前,可以先看一下SLIC算法的内容,可以查看并行计算 SLIC超像素算法(一) 大致描述和并行计算 SLIC超像素算法(二) 代码分析来进行对算法的回顾和学习。在接下的几篇博客中,我会从 代码逻辑 、 算法本身、 并行优化、 SIM...原创 2021-11-29 20:09:18 · 865 阅读 · 8 评论 -
并行计算 Clion配置OpenMP
这篇文章主要是利用Clion来配置OpenMP的运行环境,当然其他编译器也是可以的,但是对比其他编译器,小编觉得还是Clion的配置过程更加简单。下面就是配置OpenMP的大致过程:目录下载配置CMakeList.txt文件编写一个测试程序在运行踩的坑下载MinGW64CLion配置CMakeList.txt文件# openMP 配置FIND_PACKAGE(OpenMP REQUIRED)if (OPENMP_FOUND) mess...原创 2021-11-13 20:03:20 · 1931 阅读 · 4 评论 -
并行计算 SLIC超像素算法(二) 代码分析
1111原创 2021-10-23 17:21:38 · 3291 阅读 · 5 评论 -
并行计算 SLIC超像素算法(一) 大致描述
SLIC算法是simple linear iterative cluster的简称,该算法用来生成超像素(superpixel)。目录基本思想实现SLIC算法1.图像的预处理2.初始化聚类中心3.优化初始聚类中心4.计算像素点与聚类中心的距离5.像素点分类6.重新计算聚类中心7.迭代4~6的过程8.聚类优化基本思想将图像从RGB颜色空间转换到CIE-Lab颜色空间,对应每个像素的(L,a,b)颜色值和(x,y)坐标组成一个5维向量V [L, a, b, .原创 2021-10-20 17:49:37 · 4527 阅读 · 2 评论 -
并行计算 用MPI进行分布式内存编程(三)I/O处理
下面给出的并行梯形积分法程序中有个严重的不足:只能用于1024个梯形计算[0, 3]区间内的积分。与简单地输入三个新值相比,编译和重新编辑代码这种方法的工作量是相当大的、因此我们要解决用户输入的问题。顺带把用户输出的问题也一并解决。输出大部分的MPI实现都允许所有进程执行printf和fprintf,但是MPI的实现并不提供对这些I/O设备访问的自动调度。也就是说,如果多个进程试图写标准输出stdout,那么这些进程的输出顺序是无法预测的,甚至会发生一个进程的输出被另一个进程打断的情况。梯形积分原创 2021-10-14 18:48:47 · 660 阅读 · 0 评论 -
并行计算 用MPI进行分布式内存编程(二)梯形积分法
梯形积分法用梯形积分法来估计函数 y = f(x) 的图像中,两条垂直线与x轴之间的区域大小,见下图。基本思想是,将x轴的区间划分为n个等长的子区间。然后估计介于函数图像及每个子区间内的梯形区域的面积。如下图的右图,设子区间的端点为 xi 和 x(i+1),那么子区间的长度为 h = x(i+1) - x(i)。同样,两条垂直线段的长度分别为 f(xi) 和 f(x(i+1)),那么梯形区域的面积就为: 梯形面积 = h/...原创 2021-10-14 15:06:16 · 1668 阅读 · 0 评论 -
并行计算 用MPI进行分布式内存编程(一)预备知识
Linux编译c文件的基本命令编译程序$ mpicc -g -Wall -o mpi_hello mpi_hello.c启动程序$ mpicc -n <number of processes> ./mpi_hello$ mpicc -n 1 ./mpi_hello$ mpicc -n 4 ./mpi_hello简单的程序(打印来自进程问候语句的MPI程序)#include <stdio.h>#include <string.h>#i原创 2021-10-13 13:27:43 · 1310 阅读 · 1 评论