• 老李分享: 并行计算基础&编程模型与工具 2


    2.并行编程模型和工具

    – MPI –

    MPI(Message Passing Interface)是一种消息传递编程模型,服务于进程通信。它不特指某一个对它的实现,而是一种标准和规范的代表,它是一种库描述,而不是一种语言,易于使用且具有高可移植性。说白了就是一些编程接口。

    – OpenMP –

    Open Multi-Processing是适用于共享内存多处理器体系结构的可移植并行编程模型,接口由SGI公司发起。包含编译指导、运行函数库和环境变量三部分,具有串行等价性(无论使用一个还是多个线程运行一个程序,都带来相同的结果,更易于维护和理解)和增量并行性(处理器从一个串行程序开始,一块接着一块的寻找那些值得并行化的代码段)。OpenMPI的执行模型采用Fork-Join形式,即主线程-从线程,降低了并行编程的难度和复杂度。

    编译器指导语句,visio studio支持,使得OpenMP既可以被看做并行程序也可以被看做串行程序,或者在保持串行程序部分不变的情况下,用户能够方便地将串行程序改写成并行程序。

    – MapReduce –

    Google,PageRank倒排表索引的构建。Map把输入Input分解成中间的Key/Value对,Reduce把Key/Value合成最终输出Output。

    – Hadoop –

    MapReduce的开源版本。HFDS,NameNode(JobTracker),DataNode(TaskTracker),集群架构。

    – CUDA –

    Nvidia公司开发的GPU并行计算工具。

    – CellBe –

    CellBe的主要目标是将PlayStation2的处理器性能提高10倍,2006年IBM还推出了Cell刀片计算机系统。

    参考文献:《并行计算机编程基础》& CUDA课程

  • 相关阅读:
    ASP.NET中JSON的序列化和反序列化
    Android:数据存储之SQLite
    转Android:简单联网获取网页代码
    Android:@id和@+id
    linux .run文件安装
    Mysql的Root密码忘记,查看或修改的解决方法(图文介绍)
    网页页面尺寸
    openstack
    br0
    virsh
  • 原文地址:https://www.cnblogs.com/poptest/p/5127891.html
Copyright © 2020-2023  润新知