@山水之道第五境——精灵的天地大阵


前言

** 正如OSI七层与TCP/IP五层网络架构一样,https://www.cnblogs.com/dadadechengzi/p/7999371.html 程序世界也有五层,前面已经讲述了硬件结构,nm级集成电路——芯片硬件到软件的嵌入式,不同软件开发平台的编程语言。 本节介绍精灵世界的天地大阵——算法


一、算法是什么?

算法这东西庞大而复杂,在论文数据库搜索算法两个字,可以出现各行各业的各种算法,尤其时一些信息检索算法,加密算法,用户行为推荐算法,外卖算法,打车算法,渗透到人类生活的一言一行,就我个人而言,我主要做的是**图像处理**算法。本科时期做了差不多一年的医学图像,而后毕业论文和毕业实习也都做的医学图像,而后又做了很长一段时间的CMOS镜头WIFI图传,长期以来耳濡目染有些浅薄的认识。

二、GPU与图像处理

1.GPU

图像处理主要包括图像压缩、图像滤波、图像采样、图像分割和图像分析。目前在众多实际应有领域如气象、地质检测、生物医学、人工智能、航空航天等领域都有重要应有,随着这些领域图像处理规模的不断扩大以及对实时性能要求的不断提高,如何提高图像处理算法的性能已经成为当前的研究热点 。
对于图像的在生物医学等邻域实时成像的需求,以及游戏,高清视频播放时,对于高清图像的快速处理及呈现的迫切需求,快速的处理大规模图像数据成为需要迫切解决的问题。
完整的图像处理大致包括:图像信息的获取、存储、传送、处理、输出和显示 。由于图像在生成和传送过程中不可避免的会产生各种噪声,为了使图像具有更高的清晰度,上下采样以及滤波、卷积等图像处理过程必不可少。图像处理算法的执行速率与图像尺寸直接相关,随着图像尺寸的不断增大,算法的运行时间已经远远不能达到人们对于实时处理图像的需求。关于图像处理算法本身的改进,已经没有太大上升空间,大尺寸图像大量的像素点意味着不可避免的大量重复运算,这是传统 CPU 所无法避免和解决的问题。快速处理高分辨率,同时满足海量基础数据和实效性的要求,需要计算机达到每秒亿万次以上的计算能力 。GPU 是能解决这一问题的唯一有效途径。**

由于材料、制造工艺、功耗及散热的限制,仅仅依靠提升时钟频率来提高处理器性能已经变得越来越困难。芯片厂商开始在单块芯片上集成更多的处理器核心,将处理器体系结构的发展推向了多核和众核时代。众核处理器凭借其强大的并行处理能力和更高的存储器带宽受到了越来越多厂家和应用开发人员的青睐。主流芯片厂商相继推出其众核架构处理器(如:NVIDIA 的 Fermi [3] 和Kepler [4] 架构 GPU、AMD 的 Cypress、Cayman 和 GNC [5] 架构 GPU 以及 Intel的 MIC [6] 架构)而成为应用最为普及众核架构处理器。如果过去摩尔定律集中体现在 CPU 上,那么未来摩尔定律将会在 GPU 上继续辉煌。

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import  ssl
ssl._create_default_https_context = ssl._create_unverified_context

2.GPU开发

随着 GPU(Graphics Processing Unit, GPU)计算能力的不断提高和可编程性的不断增强,越来越多的开发人员使用 GPU 作为性能加速器,以提高程序性能。GPU 上基本图像处理算法性能优化关键技术研究但是,如果 GPU 编程存在“编程难,优化更难”的问题:首先,如果 GPU 程序没有进行充分优化,其性能甚至反而不及 CPU,因为 GPU 程序的优化工作已经从硬件设计者转移到应用开发人员手中。然后, GPU 程序的性能优化是一个非常困难的过程,其实质是实现算法特性向底层硬件特征的高效映射。这个过程不仅需要程序员对 GPU 底层硬件有着清晰的了解,而且需要程序员对算法有着深入认知,这就对程序员提出了更高的要求

data = pd.read_csv('https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())

而我后续也将致力于从事GPU为核心的图像处理研究。(以往的研究方向主要包括操作系统,WIFI蓝牙,图像处理)


总结

**图像处理算法主要针对于图像像素以及像素间的计算,而图像像素的各个通道分量 通常由图像尺寸的二维数组组成的,二维数组的矩阵特性使得图像处理的过程具有良好的并行性,因此非常适用于 GPU 上并行处理的特点。图像处理算法通常也具有处理数据的数据量大以及计算密集的特点。基于图像处理过程中数据及计算特点,并行化处理是切实可行的能够在短时间内同时处理大量数据并能完成计算密集需要的解决方案。本文拟将针对图像处理算法在 GPU 上的实现以及优化方法进行研究,由于 GPU 硬件及架构特点,算法在 GPU 上实 现后,其针对硬件及平台特点进行的优化会对算法性能有较大影响,而且,图像处理算法数据量大且计算密集对于实时性也有较高要求,因此算法性能的提升至关重要,为此,以GPU 为核心的图像处理算法是我个人的研究重点,后续文章将围绕GPU图像处理展开论述。**

山水之道第五境——精灵的天地大阵相关推荐

  1. 山水之道第二境——精灵的世界之城

    程序的世界里同样有山川河流,车辆道路,但整个世界最繁华的还是那一座座城. 那是精灵世界的堡垒,那时精灵世界的乐园,那是精灵世界的大脑和心脏, 那就是精灵的世界之城--芯片. 在我上学时期,学校里教的是 ...

  2. 山水之道第三境——精灵的飞天之门

    # 前言 **程序世界里:精灵们不仅生活在陆地上,还可以飞升.她们飞天起舞,他们飞天遁地···歌咏赞叹这个仙侠般的璀璨世界.** **第一境讲了精灵的世界之基(时光之源--晶振,空间之石--存储器), ...

  3. 山水之道第四境——精灵的飞天之舞

    程序的世界里,那些美妙的精灵演奏者一场又一场霓裳羽衣舞. 截止目前我常用的三款语言:C,JAVA,PYTHON.及其编辑器为 在KEIL,IAR,CODEBLOCKS等主流嵌入式编辑器以及各种芯片厂商 ...

  4. 妄想山海采矿/自动精灵

  5. coco2dx精灵和背景遮挡_Cocos2d-x精灵的性能优化——使用纹理图集和精灵帧缓存...

    使用纹理图集 纹理图集(Texture)也称为精灵表(Sprite Sheet) 使用纹理图集的优点: 1.减少文件读取次数,读取一张图片比读取一推小文件要快 2.减少OpenGL ES绘制调用并且加 ...

  6. 【Cocos2d-x】Cocos2d-x精灵的性能优化

    Cocos2d-x精灵的性能优化-使用纹理图集和精灵帧缓存 使用纹理图集 纹理图集(Texture)也称为精灵表(Sprite Sheet) 使用纹理图集的优点: 1.减少文件读取次数,读取一张图片比 ...

  7. DNF【地下城】修改IP降低延迟方法防封号方法

    对于大部分搬砖党而言,搬砖是一件持之以恒的事情.你只需要几个成型号,当然是轻松无比,需要的只是时间而已.但是在你的账户都还没有成型前呢?一点点技巧可以给你剩下很多时间! 第一,血色防线 血色防线 搬砖 ...

  8. 做个小游戏吧~貌似还挺准

    49个瓶子代表49种性格,选择你喜欢的~可以多选~ 在这里感谢一下妞子,从她那里转到的 瓶子的解释: [0号瓶]灵性解救瓶: 你是一个神秘的人,与上天有所连结.你可能有很强的第六感或者灵通的能力.代表 ...

  9. 转:49个瓶子你选哪个?

    请凭[直觉],从下面49个瓶子中,选出一个来(注意,只能选择一个): 不要偷看答案哦~~~~ [0号瓶]灵性解救瓶 你是一个神秘的人,与上天有所连结.你可能有很强的第六感或者灵通的能力.代 表这个瓶子 ...

最新文章

  1. linux selinux 安全上下文 修改
  2. 01-----JavaScript简介
  3. 初学WPF之程序启动几种方式
  4. Java操作MongoDB代码示例
  5. 东莞市初中生中考计算机内容,2019年广东东莞市中考考试科目及内容
  6. IE 8 开发人员工具详解 【转载】
  7. MySQL的索引学习
  8. *p++和*++p_2020年P气瓶充装新版试题及P气瓶充装找答案
  9. svn+ssh 想要CheckOut不容易
  10. 算法:二分法求平方根Sqrt(x)
  11. 3 行为型模式之 - 观察者模式
  12. 非常经典的C语言知识点总结!
  13. android qq输入法,Android版QQ输入法:滑动输入成最大亮点
  14. Excel的基本操作(一):保护功能、快速输入数据、导入txt数据和导入Access数据库、Excel数据类型等基本操作
  15. [渝粤教育] 郑州轻工业大学 马克思主义基本原理概论 参考 资料
  16. 2017年精选文章集合
  17. nginx反向代理实践:将某个指定的域名代理到指定的服务
  18. 电力系统潮流计算中的导纳矩阵计算,matlab源程序
  19. FCN(Fully Convolutional Network)与Unet:谈到语义分割不得不提的两个网络
  20. -webkit-scrollbar 滚动条样式设置

热门文章

  1. iOS10开发哪些坑
  2. U盘里的文件怎么会不见了
  3. c语言中的各种变量是如何存储的(-)
  4. thinkphp5 关联预载入怎么用
  5. 用spss进行数据的标准化处理_什么是数据标准化、中心化、归一化?SPSS又如何实现?...
  6. 游戏服务器引擎的设计(一)介绍游戏服务器部署框架
  7. vpu测试_一种普适的手机平台vpu视频编解码性能检测方法
  8. Maxtang大唐英特尔12代J6412无风扇双网口迷你主机真实评测
  9. 推荐一款自动更新 Docker 镜像与容器的神器 Watchtower
  10. cf1292 C. Xenon's Attack on the Gangs