当前位置:   article > 正文

G优:C:HPC 概述_向量 hpc

向量 hpc

1.5向量机与阵列机

  • 高性能计算机本质两
  • 向量机通过向量处理得高性能
  • 阵列机通过大量线程同时执行达到高吞吐量
  • 向量机和阵列机
    • 目前获得高加速比的主要途径之

  • 向量机有独特的向量处理单元,可进行向量运算
  • 向量机利用流水线技术,将计算机的计算单元和控制单元按序组装,利用部件分离和时间重叠思想,形成流水。
  • 只有在向量处理单元工作时,向量机才是SIMD计算机
  • 标量运算和分支处理时,向量机是
    SISD
  • 主流向量机
  • Intel Xeon
  • Intel Xeon Phi(Intel的集成
    众核MIC产品)等
  • 最新Xeon已支持256位宽的向量运算
  • Xeon Phi可支持512位向量处理

  • 阵列机由一个控制器同时控制多个运算器,控制器进行指令解析和指令分发,处理器只负责计算,处于相同控制器控制下的运算器执行相同指令(见图1.3)。
  • 控制器执行两类指令:
    • 控制指令,其本身解释执行;
    • 运算指令,控制器将该指令分发给
      所有处理器,所有处理器同时执行该条指令。
  • 阵列机是一种典型的SIMD计算机

在这里插入图片描述

  • 某些文献将GPU为向量机,但认为GPU是典型的阵列机。
  • GPU执行用单指令多线程SIMT模式,
  • 每个warp(线程東)执行同一条指令,
  • 线程ID为0~31的 thread同时执行同一条指令

  • 将向量机(CPU、MIC)大侠

  • 阵列机(GPU)军团

  • 大侠有强大内力(ICC编译器)

    • 且掌握绝招(向量运算)
    • 同时砍翻8或16个(同时处理8或16个浮点运算)
    • 刀芒范围内敌人排列整齐时,刀芒
      的系伤力才能发挥(数据对齐)
  • 大侠不主动用绝招,

  • 玩家操纵(程序员编程),

  • 玩家自身没有内力,不懂得如何掌控内力(ICC编译器),也不能保证成功激发绝招(只能给编译器一些编译指导,无法保证编译成可向量运算的可执行程序)

  • 军团有大量士兵(计算核心),

  • 且提供给玩家(程序员秘籍(CUDA编程),

  • 记载如何排兵布阵,

  • 玩家需熟练掌擢战阵秘籍才能战阵,

  • 新手而言这本战阵秘籍的难度大

  • 战阵中的一排土兵(warp)同时行动

  • 同时挥刀砍杀(warp内所有线程执行相同指令),当其对面敌人(数据)排列整齐时,能保证所有士兵都砍中敌人,杀伤力自然巨大(性能好)

  • 完全不懂战阵的新兵去操纵战阵,
    • 一团乱
    • 别说发挥战阵能力,
    • 可能连里面一个士兵都无法用好,
    • 无战斗力(GPU入门较难,性能优化不易)
  • 菜鸟操纵大侠,
    • 大侠有内力,
    • 菜鸟啥也不会,也有一定几率发出刀芒绝招(CPU开发入门易,ICC编译器功能强
      大,提供较好代码向量化优化能力,向量化几率还是比较大)
  • 新兵进行秘籍培训,懂得基本操纵战阵,
    • 能令战阵发挥绝大多数功能,
    • 杀伤力强大(学会GPU编程后,GPU性能发挥主要看程序员编写的代码,程序性能主要由代码决定,编译器基本不影响其性能,写好代码就能发挥GPU性能)
  • 内力玄幻(ICC编译器太复杂,很难真正掌握),即使不断修炼也很难操纵自如,刀芒的发挥仍然无法得心应手(学会CPU编程后想继续进阶就变得困难,ICC编译器太复杂,无法真正掌握,而真正对CPU或MIC程序性能起决定性作用的不是程序员写的代码,而是编译器如何编译;如果编译时编译器就是认为代码无法向量优化,即使程序员很轻易地找到向量化方案,真正的可执行程序依然只能标量执行)
  • 经过修炼,菜鸟终成大将军和大宗师(如 NVIDIA和Intel的天才数学库开发人员),
    • 就能完全发挥战阵和武林大侠的能力,此时不相上下

  • 本书对秘籍(CUDA编程)简化和实例注解
  • 期望通过该秘籍更快更好地训练好新兵,
  • 成长为先锋官乃至大将军,充分发挥战阵杀伤力(本书简化CUDA编程,用大量实例阐述GPU编程和性能优化
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/261491
推荐阅读
相关标签
  

闽ICP备14008679号