|
课程介绍% j H2 k. Z6 y3 C( }
近年来,随着深度学习的高速发展,大数据技术的普及,接下来紧接的会普及发展的想必就是硬件层面的配合,而GPU无疑是最重要的趋势。过去几年,计算领域我们目睹了英伟达(NVIDIA)公司带来的变革。计算统一设备架构(Compute Unified Device Architecture, CUDA)编程语言的引入,第一次使这些非常强大的图形处理器为程序员日常所用,以应对日益复杂的计算工作。从嵌入式设备行业到家庭用户,再到超级计算机,所有的一切都因此而改变。
5 n. |/ b! b) X" U计算机软件界较大的变迁是从串行编程转向了并行编程。其中,CUDA起到了重要的作用。究其本质,图形处理单元(Graphics Processor Unit,GPU)是为高速图形处理而设计的,它具有天然的并行性。CUDA采用了一种简单的数据并行模型,再结合编程模型,从而无需操纵复杂的图形基元。- g/ B5 J1 @6 n v! D3 }
我们也可以轻而易举的发现各种各样的开源计算机库,例如OpenCV,Caffe,TensorFlow等等,都提供了对应于GPU的使用接口,使得GPU的使用越来越主流而高效。
( ~! H; P( M6 G& Z' {' s本课程主要分为四部分,分别涵盖了硬件搭载知识、CUDA编程基础、CUDA性能优化与设计、实战项目经验。, S8 }( E! l# @9 I/ z. G
/ i; U/ r! K5 @/ K0 }
授课时间:# l4 D. w/ D4 p1 d. P/ t
本期课程将于2017年6月13日开始。课程持续时间大约为14周。
' c0 P% a) l. t6 k+ A: |8 T# A' ~( ~8 v
授课对象:4 g' S! n J& L
对并行计算,GPU编程刚兴趣的同学,熟悉C/C++编程语言。
4 M j% ]! ?; |( O需要有带NVIDIA显卡的计算机,如果没有的同学可能需要额外购买AWS的GPU服务器,费用约是0.4美元/小时。: x( t3 [4 S5 p
' K# ~6 m- D1 `8 R$ p8 N课程环境:) M1 L$ f: o! E
硬件环境:AWS G2 Instances(NVIDIA GRID K520) / CG1 Instances(NVIDIA Tesla M2050) /自备带NVIDIA GPU的电脑
5 |) m- r6 u; C+ P, l2 x操作系统:Linux 64bit (Ubuntu 14.04)
2 Z8 \) V% i# ?, b; c( S编程语言:C/C++# f# u& Q' z ^
使用软件:CUDA7.5
6 d8 s1 ]" A+ O. F8 ^
0 Q2 r6 v. d$ Q1 T7 b收获预期:
: g$ T" ^; I* U3 j; X具备GPU和CUDA编程能力,可以完成初步的GPU程序设计和优化设计,对于实际应用中CUDA的使用能有全面的考虑和实操能力。
' W! l& P8 l4 t) z' z5 j授课时间:本期课程将于2017年6月13日开始。课程持续时间大约为14周。# l5 L2 a/ v; j% y1 H5 _
* B/ L# e0 L, S; O8 l课程目录, ^7 m% }0 X$ c- T+ S# E! Y
3 i0 ~3 Z( z( F2 ]2 R9 W
一. GPU与CUDA背景基础介绍
$ u8 C" \# C# l: `4 z1 W第1课 CUDA硬件环境,体系结构,软件环境介绍,包括平台、架构、开发工具和热点技术9 y" W9 r* ?$ P3 o w" [/ P3 b# ~. m( I
第2课 并行编程介绍,CUDA核心概念,包括网格、线程块,不同类型内存的工作机制
! Q& A, h4 N F9 }0 w$ _4 {/ c% v2 v0 w
二. CUDA编程基础
]" {5 K( t$ P5 S第3课 CUDA设备内存、常量内存、共享内存和纹理内存,CUDA流和事件 N; ^' S* `) I2 E6 d
第4课 CUDA执行模式、线程调度、内核执行和CUDA存储器的使用) S D K$ R/ R
第5课 CUDA流处理器簇、多GPU编程、纹理操作$ H; L; k( }$ R {
8 ?$ Z' @6 f! E5 k
三. CUDA性能优化与设计
' ]# r* n* q. o. K2 v7 G9 [* K第6课 CPU/GPU协同编程,串行/并行程序中提高并行度的常用策略* q v! ^* k+ L8 D. ]% o
第7课 流式负载以及使用GPU做应用程序性能优化常用策略1 n! p$ A7 L$ h* [
第8课 在集群中使用CUDA* G2 n4 \* ?) A! g
+ Q" W/ D/ W, N' R. p
四. 实战项目经验) h/ K/ u2 |9 C+ U# ?
第9课 应用CUDA做高维数据处理: B! K8 c* L6 H7 X$ S
第10课 CUDA+OpenGL做图形渲染
8 e' J/ Q; ?7 O2 @第11课 CPGPU实现视频流实时光流跟踪. ^0 _) F9 Z: b, b _6 {( q
第12课 深度学习框架中的GPU应用 2 m% {; I# |8 r! K1 e2 L" Z
( A) e. i9 ]( K* z
$ U1 v6 L) _: _, F) \0 t1 g" U& o4 M. z8 ^/ d4 c3 T
$ c* k H4 m& u( }
4 Q2 n8 s3 h5 l1 X
) P* P5 _ v5 V9 {
资源下载地址和密码(百度云盘): [/hide] 百度网盘信息回帖可见
* v# u+ Q+ e* G
: I! u% f& U0 m, K" s7 P& E' `1 r8 |: {) X$ b; ~; u% B
1 Q% h) _$ f0 D3 B0 x本资源由Java自学网收集整理【www.javazx.com】 |
|