|
课程介绍) G% R: N* A- \4 M! i% f6 u1 b$ x
近年来,随着深度学习的高速发展,大数据技术的普及,接下来紧接的会普及发展的想必就是硬件层面的配合,而GPU无疑是最重要的趋势。过去几年,计算领域我们目睹了英伟达(NVIDIA)公司带来的变革。计算统一设备架构(Compute Unified Device Architecture, CUDA)编程语言的引入,第一次使这些非常强大的图形处理器为程序员日常所用,以应对日益复杂的计算工作。从嵌入式设备行业到家庭用户,再到超级计算机,所有的一切都因此而改变。
" V1 X1 @ Z7 L3 U4 @计算机软件界较大的变迁是从串行编程转向了并行编程。其中,CUDA起到了重要的作用。究其本质,图形处理单元(Graphics Processor Unit,GPU)是为高速图形处理而设计的,它具有天然的并行性。CUDA采用了一种简单的数据并行模型,再结合编程模型,从而无需操纵复杂的图形基元。8 }( b! m' c& w/ v; B$ Z
我们也可以轻而易举的发现各种各样的开源计算机库,例如OpenCV,Caffe,TensorFlow等等,都提供了对应于GPU的使用接口,使得GPU的使用越来越主流而高效。
6 J2 v) b' c# j* [+ O Z2 K本课程主要分为四部分,分别涵盖了硬件搭载知识、CUDA编程基础、CUDA性能优化与设计、实战项目经验。
7 E! j6 L& V9 y x! h7 E o
. E: S" w7 M; \* v授课时间:
9 \/ G) v' E+ q% m9 y' l本期课程将于2017年6月13日开始。课程持续时间大约为14周。
" |+ Z0 y8 \! x* |: ?( B. L, T! o* P1 C/ K8 f- I
授课对象:
3 g7 J9 e$ p W5 g对并行计算,GPU编程刚兴趣的同学,熟悉C/C++编程语言。7 q* o( t4 s6 R3 R
需要有带NVIDIA显卡的计算机,如果没有的同学可能需要额外购买AWS的GPU服务器,费用约是0.4美元/小时。
( B' N0 C" Y- b- |2 ~& m: ~- Q; f5 L) t3 V
课程环境:8 c& F% O) V. ?# p; S
硬件环境:AWS G2 Instances(NVIDIA GRID K520) / CG1 Instances(NVIDIA Tesla M2050) /自备带NVIDIA GPU的电脑" i1 P& w6 }3 l) ], k$ t
操作系统:Linux 64bit (Ubuntu 14.04)
) R' C. S* G/ ?: a7 _编程语言:C/C++% a# K& H9 m, G- g3 {$ T# `7 ^
使用软件:CUDA7.5 ) Z+ N) F% b0 [4 N( Y
' J7 w+ f5 g4 N$ t1 F收获预期:* _( g c' J' m& W8 k
具备GPU和CUDA编程能力,可以完成初步的GPU程序设计和优化设计,对于实际应用中CUDA的使用能有全面的考虑和实操能力。
7 `- i: h" _0 Y/ x授课时间:本期课程将于2017年6月13日开始。课程持续时间大约为14周。
- [! M& m, w8 X1 y' e9 v
) f5 ^- d! y# _1 z$ f课程目录: J7 v$ w! i0 A( U: B4 v8 @
; j1 ~6 l) A8 P
一. GPU与CUDA背景基础介绍
6 D4 u7 {9 }: y$ X+ W第1课 CUDA硬件环境,体系结构,软件环境介绍,包括平台、架构、开发工具和热点技术/ h: w6 W1 W% _: E: S6 ]
第2课 并行编程介绍,CUDA核心概念,包括网格、线程块,不同类型内存的工作机制
$ v9 {% s, y; g' X" v- R+ T
% i/ {$ c6 ]4 q( ~二. CUDA编程基础
# ?& } i( O2 h5 [第3课 CUDA设备内存、常量内存、共享内存和纹理内存,CUDA流和事件/ e+ K' I" s# S# R3 p' N
第4课 CUDA执行模式、线程调度、内核执行和CUDA存储器的使用 C- a7 B5 p' B- T4 W) P, w
第5课 CUDA流处理器簇、多GPU编程、纹理操作
( V: u8 _* M7 x4 \3 W4 T0 g& o- {+ U: c% F. b1 a
三. CUDA性能优化与设计
( C: d/ j2 T7 O& P& ^, m5 q. r第6课 CPU/GPU协同编程,串行/并行程序中提高并行度的常用策略/ Z" q, q) N5 ^; R6 W3 Q
第7课 流式负载以及使用GPU做应用程序性能优化常用策略
% m: `- ]$ W% h6 z# E# j4 ] W第8课 在集群中使用CUDA% n/ F2 |. ^0 e3 i; z8 Y2 G& X! P+ U
$ w7 g) G2 z$ f1 s$ e. ^
四. 实战项目经验& f' U6 j. k3 \ y2 x/ N
第9课 应用CUDA做高维数据处理0 ^1 [. A) f0 p9 K( _" u" V: x9 r
第10课 CUDA+OpenGL做图形渲染
; d' R4 F U6 A8 t$ v- a+ Y第11课 CPGPU实现视频流实时光流跟踪4 m, r& y4 ^. S8 e d: B
第12课 深度学习框架中的GPU应用 5 G5 r$ n% t6 @5 E1 f/ Z. a- K
3 Y+ G: K9 Y: H4 [7 p9 I/ G3 H& v2 w
4 U3 B& h3 q; b* ~; V |" C
5 b& L8 l' s) l; A
- k5 V! G+ `& d! e# q; D: ~4 v# p3 `- ]9 N$ J' L' N
资源下载地址和密码(百度云盘): [/hide] 百度网盘信息回帖可见3 S9 \8 h: L( w
8 I* V0 Q/ M9 y$ C- Q4 s9 e: O( P9 N% j0 S/ l
4 F# L0 k, {8 ^$ N/ V# Z本资源由Java自学网收集整理【www.javazx.com】 |
|