CUDA(9)之并行计算之CUDA

摘要

本文主要谈谈CUDA编程的一些特点。

 

1. CUDA擅长做什么?

CUDA主要擅长可并行性的计算,以及浮点计算。换句话说,如果你的程序可并行化的程度较高,或者需要大量的浮点运算,那么你的程序如果在GPU上运行的话,可以有比较显然的性能的提升。

 

2. CUDA编程等价于GPU编程么?

CUDA编程不完全等价于GPU编程,CUDA其实是CPU程序和GPU程序的结合。其中,CUDA的CPU程序主要是串行计算部分,GPU程序主要是并行计算部分。整体的CUDA程序可以形象地描述为:串行->并行->串行->并行......,相对于纯串行方案而言,CUDA程序性能的提升主要归功于可并行计算的部分。

 

3. CUDA编程的关键是?

CUDA编程的关键主要是应用程序的并行化问题。应用程序的并行化有很多中方式,比如可以通过并行多threads线程去除串行的loop循环等,所以在并行代码中很少看到循环。目前来讲,并行计算对系统性能的优化程度是相当可观的。相对于串行的程序而言,并行计算的发展也是比较看好的。下图是各种程序优化方式对系统性能的影响。

 

CUDA(9)之并行计算之CUDA_第1张图片

你可能感兴趣的:(GPU编程)