Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

XuetangX

并行编程原理与实践

Beijing Institute of Technology via XuetangX

Overview

    《并行编程原理与实践》是一门理论性和实用性都很强的课程,主要讨论并行编程的基本概念,基本原理和基本方法。课程内容包括:并行计算机系统结构,并行程序设计的关键问题,以及常用的并行编程模型、语言和工具。通过本课程的学习可掌握有关并行编程的基础理论知识;通过实践掌握共享存储系统下多线程级并行编程、OpenMP编程、分布式存储系统下的MPI编程、CPU+GPU异构系统下的CUDA编程等技术;了解大数据处理相关并行编程技术,C++、Java、Python等高级语言中的并行编程技术,以及并行计算机系统结构和并行编程技术的发展趋势。课程中通过对国产处理器、超算系统的介绍,增强学生的民族自信心和自豪感,激励学生科技创新,助力科技强国。

    课程内容包括:

第1章 并行编程原理

    这部分主要介绍并行编程的基本原理,包括并行计算机系统的体系结构和性能评估,并行编程所涉及的任务划分、调度、数据分布、通信和同步等关键技术问题,并行编程的常用模型、语言和工具概况。

    1.1 并行编程概述

    1.2 并行计算机体系结构

    1.3 并行编程的方法

    1.4 并行编程的关键问题



第2章  共享存储系统并行编程

    这部分主要介绍共享存储系统下的并行编程技术,包括线程级并行的基本概念,pthread多线程并行编程技术和OpenMP并行编程技术。

    2.1 线程级并行编程

    2.2 OpenMP编程

第3章  分布式存储系统并行编程

    这部分主要介绍分布式存储系统下的并行编程技术,包括MPI标准和编程技术,云计算平台上大数据处理常用的编程框架,如MapReduce、Spark、Storm等。

    3.1 MPI编程

    3.2 大数据相关编程技术(暂未上线)

第4章  异构系统并行编程

    这部分主要介绍异构系统下的并行编程技术,包括CPU与GPU/ FPGA/ ASIC/ DSP等加速芯片形成的异构多核系统结构,以及在机器学习等方面的应用,重点介绍CPU+GPU异构系统下的并行编程框架。

    4.1 异构计算机系统结构

    4.2 CUDA编程

    4.3 OpenCL编程(暂未上线)

    4.4 OpenACC编程(暂未上线)

第5章  高级程序设计语言与并行编程(暂未上线)

    这部分从编程语言自身发展的层面,介绍主流编程语言中的并行编程语法元素、函数库和接口等。

    5.1 C++并行编程

    5.2 Java并行编程

    5.3 Python并行编程

专题技术讲座

Syllabus

  • 0. 课程介绍
    • 1. 并行编程概述
      • 2. 并行计算机体系结构
        • 3. 并行编程方法
          • 4. 并行编程的关键问题
            • 5. 多线程编程
              • 6. OpenMP编程
                • 7. MPI编程
                  • 7.1 MPI简介
                  • 7.2 基本MPI编程
                  • 7.3 深入MPI编程
                • 8. 异构计算概述
                  • 9. CUDA编程
                    • 10. 并发相关Bug
                      • 期末实验项目

                        Taught by

                        Wang, Yizhuo and Ji, Weixing

                        Tags

                        Reviews

                        Start your review of 并行编程原理与实践

                        Never Stop Learning.

                        Get personalized course recommendations, track subjects and courses with reminders, and more.

                        Someone learning on their laptop while sitting on the floor.