CUDA程序优化小记(二)
CUDA全称ComputerUnified Device Architecture(计算机同一设备架构),它的引入为计算机计算速度质的提升提供了可能,从此微型计算机也能有与大型机相当计算的能力。可是不恰当地使用CUDA技术,不仅不会让应用程序获得提升,反而会比普通CPU的计算还要慢。最近我通过学习《GPGPU编程技术》这本书,深刻地体会到了这一点,并且用CUDARuntime应用改写书上的例子程序;来体会CUDA技术给我们计算能力带来的提升。
原创文章,反对未声明的引用。原博客地址:http://blog.csdn.net/gamesdev/article/details/17535755
以前写了一段时间多线程程序,有用Windows的API写的,也有用跨平台Boost写的。其实多线程的优势在于能够提升资源利用率。比如说如果我没有其它耗时的任务,那么可以开多线程进行多个任务的操作。这种情况一般发生在初始化、大量载入资源的时候。其实GPU是一种并行处理器,它被设计为能执行简单的指令,但是并行度非常高的结构,由这些特点可以看出,GPU非常适合做并行程序。要不然怎么会有CUDA中“网格 – 块 –线程”这样的结构呢。