Introduction to Parallel Programming with CUDA

所在平台: Coursera

课程主页: https://www.coursera.org/learn/introduction-to-parallel-programming-with-cuda

课程评论:没有评论

第一个写评论        关注课程

课程简介

课程名称:CUDA并行编程入门 概述:本课程旨在帮助学生开发能够在图形处理单元(GPU)上并行处理大量数据的代码。学生将学习如何利用Nvidia CUDA实现能够解决复杂问题的软件,涵盖从消费者级到企业级的领先GPU。课程将重点关注硬件和软件的能力,包括使用数百到数千个线程和各种内存形式。 课程大纲: 1. **课程概述** 描述:本模块的目的是让学生了解课程的运行方式、主题、评估方式和期望。 2. **线程、块和网格** 描述:在使用GPU解决复杂和大规模问题时,线程管理是最重要的概念。CUDA提供了线程、块和网格的二维和三维逻辑抽象。学生将开发利用线程、块和网格处理大型二维和三维数据集的程序。 3. **主机和全局内存** 描述:为了有效管理物理内存中的数据访问和修改,学生需要将数据加载到CPU(主机)和GPU(全局)通用内存中。学生将创建软件分配主机内存并将其传输到全局内存,以便线程使用,同时学习这些内存类型的能力和速度。 4. **共享内存和常量内存** 描述:为了提高GPU软件的性能,学生需要利用可变(共享)和静态(常量)内存。学生将使用这些内存为数据集的所有项应用掩码、管理线程之间的通信,并在复杂程序中进行缓存。 5. **寄存器内存** 描述:在本模块中,学生将学习GPU最局部化内存(寄存器)的优点和限制。虽然使用这种类型的内存对学生来说是自然的,但要获得最大的性能提升,像所有类型的内存一样,需要对软件进行深思熟虑的设计。学生将开发使用每种类型内存的算法实现,并进行性能分析。

课程大纲

Name:Course Overview

Description:The purpose of this module is for students to understand how the course will be run, topics, how they will be assessed, and expectations.

Name:Threads, Blocks and Grids

Description:The single most important concept for using GPUs to solve complex and large-scale problems, is management of threads. CUDA provides two- and three-dimensional logical abstractions of threads, blocks and grids. Students will develop programs that utilize threads, blocks, and grids to process large 2 to 3-dimensional data sets.

Name:Host and Global Memory

Description:To manage the access and modification of data in physical memory effectively, students will need to load data into CPU (host) and GPU (global) general-purpose memory. Students will create software that allocates host memory and transfers it into global memory for use by threads. Students will also learn the capabilities and speeds of these types of memories.

Name:Shared and Constant Memory

Description:To improve performance in GPU software, students will need to utilized mutable (shared) and static (constant) memory. They will use them to apply masks to all items of a data set, to manage the communication between threads, and use for caching in complex programs.

Name:Register Memory

Description:In this module, students will learn the benefits and constraints of GPUs most hyper-localized memory, registers. While using this type of memory will be natural for students, gaining the largest performance boost from it, like all forms of memory, will require thoughtful design of software. Students will develop implementations of algorithms using each type of memory and generate performance analysis.

课程评论(0条)

课程详情

This course will help prepare students for developing code that can process large amounts of data in parallel on Graphics Processing Units (GPUs). It will learn on how to implement software that can solve complex problems with the leading consumer to enterprise-grade GPUs available using Nvidia CUDA. They will focus on the hardware and software capabilities, including the use of 100s to 1000s of threads and various forms of memory.

课程标签

0人关注该课程

主题相关的课程