了解异构计算架构
一、并行计算
通俗地讲就是将一个大的问题分解成多个小问题,然后在不同的计算资源上并行处理这些小问题。并行计算通常涉及到两个不同的计算技术领域:计算机架构并行程序设计
1、计算机架构关注的是在结构级别上支持并行性,并行程序设计关注的是充分使用计算机架构的计算能力来并发地解决问题。
对于计算机体系结构,大学里都会学到冯诺依曼体系结构。这里就主要介绍一下哈弗体系结构,它主要由3个部分组成:内存,中央处理器和输入输出接口。如下图所示:

  • 内存:指令内存和数据内存
  • 中央处理器:控制单元和算术逻辑单元
  • 输入/输出接口
    高性能计算的关键部分就是中央处理单元,也称为计算机的核心。现在计算机一般是多核处理器,指的是将多个核心集成到一个单一的处理器上,以在体系结构级别支持并行性。
    2、并行程序设计
    可以理解为将一个问题的计算分配给可用的核心来实现并行的过程。要了解并行程序设计,我们先了解串行和并行编程。
    2.1串行编程和并行编程
    串行编程是大多数人在编程时最容易想到和运用到的。通常在面对一个问题,我们很自然的就会将这个问题划分成许多的执行小块,然后依次执行这些小块,最终解决问题。如下图所示:

    串行编程是有执行次序的,若没有执行次序的要求则可以用并行编程。当然一个程序中即可以有串行也可以有并行。如下图所示:
    ** 当我们在编写程序时,什么时候用串行什么时候用并行呢?**我们在计算一个问题时,将问题划分成许多的小的计算单元后,每一计算单元就是一个任务,我们要知道在一个任务中,单独的指令负责处理输入和调用一个函数并产生输出,若一个指令处理前一个指令产生的数据时,就有了数据相关性的概念,所以我们在区分两个任务之间的依赖关系,如果没有依赖那就独立,独立就可以使用并行计算。
    2.2并行性
    下面介绍在应用程序中的两个基本并行类型:任务并行和数据并行。
  • 任务并行就是当许多任务或函数可以独立地、大规模地并行执行。重点就是利用多核系统对任务进行分配。
  • 数据并行就是当可以同时处理许多数据,重点就是利用多核系统对数据进行分配。CUDA编程就非常适合解决数据并行计算的问题。
    二、异构计算
    1、异构架构
    一个典型的异构计算节点包括两个多核CPU插槽和两个或更多个的众核GPU。GPU不是一个独立运行的平台而是CPU的协处理器。GPU必须通过PCIe总线与基于CPU的主机相连来进行操作。我们将CPU所在的位置称为主机端,GPU所在的位置成为设备端。如下图所示:

    异构平台上执行的应用通常由CPU初始化,在设备端加载大量数据前,CPU代码负责管理设备端的环境、代码和数据。GPU就用来处理计算数据和提高数据的执行速度。
    我们可以同时使用CPU和GPU来执行程序,在CPU上执行串行部分或任务并行部分,在GPU上执行数据密集型并行部分,如下图所示:

    (未完…刚学习完CUDA编程,准备出一系列关于CUDA编程的知识作为巩固和深入,每三天更新一篇,若写的有不对的欢迎指正。)

异构计算架构的基本知识相关推荐

  1. 基于昇腾AI异构计算架构CANN的通用目标检测与识别一站式方案初体验

    前言 强大的社会粘性不断催温数字化发展,目标检测与识别作为计算机视觉领域的一项关键技术,应用场景广泛,前景十分广阔,从城市治理.楼宇园区.互联网等领域,延伸至智能家居.金融.医疗影像等更多创新领域.随 ...

  2. tcp的无延时发送_高并发架构的TCP知识介绍

    这是关于高并发架构网络协议基础知识的第二篇,编程路上的基础心法! 做为一个有追求的程序员,不能只满足增删改查,我们要对系统全方面无死角掌控.掌握了这些基本的网络知识后,相信一方面日常排错中会事半功倍, ...

  3. 训练千亿参数模型的法宝,昇腾CANN异构计算架构来了~

    摘要:盘古的训练以「昇腾AI处理器」为基座,同时借助了「CANN 异构计算架构」,让硬件算力得以充分释放,大大缩短了训练时间! 2021年4月,"华为云盘古大模型"一炮走红AI人工 ...

  4. 【软考系统架构设计师】2011年下系统架构师综合知识历年真题

    [软考系统架构设计师]2011年下系统架构师综合知识历年真题 2011年下系统架构师综合知识历年真题 [软考系统架构设计师]2011年下系统架构师综合知识历年真题 [2011下架构真题第01题:绿色] ...

  5. 【软考系统架构设计师】2009年下系统架构师综合知识历年真题

    [软考系统架构设计师]2009年下系统架构师综合知识历年真题 2009年下系统架构师综合知识历年真题 [软考系统架构设计师]2009年下系统架构师综合知识历年真题 [2009下架构真题第01题:绿色] ...

  6. Java架构师必备知识体系

    写给一名java开发的一段话: 最近公司在组织面试,并由我担任面试官,前前后后面了几天,大概有十来个人,基本都是五年以上开发经验的,我问的问题也都不是很困难,都是一些偏原理和场景解决方案. 如: 1. ...

  7. java开源bs系统_WCP是一套BS架构的开源知识管理系统、知识库系统。它.PDF

    WCP是一套BS架构的开源知识管理系统.知识库系统.它.PDF 介绍 WCP 是一套 BS 架构的开源知识管理系统.知识库系统.它能提供团队知识库建设 的一整套功能,从知识创建.知识更新.知识推送到知 ...

  8. 【软考系统架构设计师】2017下系统架构师综合知识历年真题

    [软考系统架构设计师]2017下系统架构师综合知识历年真题 [2017下架构真题第01题:绿色] 01.某计算机系统采用5级流水线结构执行指令,设每条指令的执行由取指令(2Δt).分析指令(1Δt). ...

  9. 大数据中物联网架构的相关知识

    随着大数据越来越火,企业们都开始纷纷使用大数据来解决问题.在大数据的解决方案中,有一个十分典型的案例,那就是物联网.其实物联网现在早就不是什么新兴的概念了,物联网现在有很多的成品已经进入了我们的生活中 ...

最新文章

  1. Unity 3D游戏开发学习教程
  2. BCH到底该采用哪种交易排序规则?
  3. 自旋表达的到底是什么?
  4. 如何消除网站安全的七大风险
  5. 恭贺微软技术俱乐部苏州站正式成立
  6. with pdo mysql_如何在PHP下开启PDO MySQL的扩展
  7. 笨办法学 Python · 续 练习 22:后缀数组
  8. java.lang.ClassNotFoundException: com.sun.xml.ws.spi.ProviderImpl解决办法
  9. autosar中bsw架构组成_AUTOSAR分层架构深度解析
  10. xmind高效处理大图的7个技巧
  11. elasticsearch 关联查询_Elasticsearch字段类型之Range经典应用场景
  12. concurrenthashmap_ConcurrentHashMap核心原理,这次彻底给整明白了
  13. 乳腺癌检测_逻辑回归
  14. 对中国大学MOOC课程视频批量下载的探索
  15. Sql三张表的连接查询
  16. HYSPLIT模式简介及使用
  17. tp5 mysql悲观锁_thinkphp悲观锁机制处理高并发
  18. echarts 为x轴、y轴添加滚动条
  19. Spring+SpringMVC+Mybatis(开发必备技能)04、mybatis自动生成mapper_dao_model(包含工具与视频讲解) 纯绿色版本、配套使用视频,100%运行成功
  20. Java锁---偏向锁、轻量级锁、自旋锁、重量级锁

热门文章

  1. 司空见惯 - 2022世界杯
  2. Java项目:大学生兼职系统(java+Springboot+JSP+maven+Mysql)
  3. Vue3 与 Vue2 对比有哪些变化,你会怎么回答?
  4. Python 代码实现哈夫曼编码
  5. Py的docx库:Python操作docx文件的详细教程
  6. PM 和 PL 的区别
  7. matlab中的mat2cell及cellfun使用
  8. jsp内置对象及其方法
  9. Lua中的userdata
  10. 用addr2line分析tombstones