近年来,随着深度学习的高速发展,大数据技术的普及,接下来紧接的会普及发展的想必就是硬件层面的配合,而GPU无疑是最重要的趋势。过去几年,计算领域我们目睹了英伟达(NVIDIA)公司带来的变革。计算统一设备架构(Compute Unified Device Architecture, CUDA)编程语言的引入,第一次使这些非常强大的图形处理器为程序员日常所用,以应对日益复杂的计算工作。从嵌入式设备行业到家庭用户,再到超级计算机,所有的一切都因此而改变。
计算机软件界较大的变迁是从串行编程转向了并行编程。其中,CUDA起到了重要的作用。究其本质,图形处理单元(Graphics Processor Unit,GPU)是为高速图形处理而设计的,它具有天然的并行性。CUDA采用了一种简单的数据并行模型,再结合编程模型,从而无需操纵复杂的图形基元。
一. GPU与CUDA背景基础介绍
第1部份 CUDA硬件环境,体系结构,软件环境介绍,包括平台、架构、开发工具和热点技术
第2部份 并行编程介绍,CUDA核心概念,包括网格、线程块,不同类型内存的工作机制
二. CUDA编程基础
第3部份 CUDA设备内存、常量内存、共享内存和纹理内存,CUDA流和事件
第4部份 CUDA执行模式、线程调度、内核执行和CUDA存储器的使用
第5部份 CUDA流处理器簇、多GPU编程、纹理操作
三. CUDA性能优化与设计
第6部份 CPU/GPU协同编程,串行/并行程序中提高并行度的常用策略
第7部份 流式负载以及使用GPU做应用程序性能优化常用策略
第8部份 在集群中使用CUDA
四. 实战项目经验
第9部份 应用CUDA做高维数据处理
第10部份 CUDA+OpenGL做图形渲染
第11部份 CPGPU实现视频流实时光流跟踪
第12部份 深度学习框架中的GPU应用
|