zoukankan      html  css  js  c++  java
  • 并行计算:初识并行计算

    课程来源:新竹清华大学:并行计算与并行编程课程

    (1)问:什么是并行计算?

        答:用 很多 处理器(如 core)一起工作 来 解决同一个问题。

        传统方法: 一个问题 -> 单个指令 -> 处理器

         并行计算: 一个问题-> 多个指令 -> 分别对应的多处理器(更多的计算资源处理相同的计算量)

    (2)问:并行计算与分布式计算的区别?

       答:二者十分相似但是背景不同。

        并行计算 强调的是针对  一个问题/计算  用  多个计算核 来提高程序的 效率(重要), 区域跨度较小, 计算机很集中。

        分散式计算  不同的使用者,强调的是   资源共享/交流, 区域跨度很大,如云计算的兴起。  通过internet进行资源的计算。

    (3)问:并行计算产生的原因:

       答:(1)节省时间 :以牺牲点内存获得更短的执行效率,在有限时间处理 更多的任务。

              (2)可以处理 更大规模 的问题。

              (3)在并行设备上得到更好的性能。

        FLOPS:  每秒做的浮点数的计算,用于描述性能。   

        并行计算是序列计算的革命,并行计算 一般在 bottleneck处做优化, 不是实时做并行。

    (4)并行计算的趋势?

       答:1.单核时代:受摩尔定律,电压大小 驱动,受 能源以及复杂度 限制,常用语言 C/C++ -> java

               2.多核时代:受摩尔定律,SMP 驱动,受 能源,并行软件,尺寸限制, 主要是并行计算,工具: Pthread->OpenMP

               3.分布式系统时代:网络的兴起 驱动,受同步,通讯及开销 限制 工具:MPI->MapReduce (多个核需要交流做不同的事情)

               4.异构系统时代: 受 大数据,并行,GPUs性能驱动,受 编程,模型,通讯及开销 限制, 工具:Shader->CUDA->OpenCL(GPU所有核做相同的事情,这也是GPU快的原因之一,也是其缺点之一,同一时间所有core只能处理相同的事情。)

  • 相关阅读:
    12.1
    11.26
    12.5Java日报
    11.25
    11.27
    12.03
    11.28
    12.04
    如何在TortoiseGit中使用sshkeygen生成的key
    leetcode 39 组合总和
  • 原文地址:https://www.cnblogs.com/fourmi/p/11919076.html
Copyright © 2011-2022 走看看