摘要:
转自:http://blog.csdn.net/augusdi/article/details/12529247CUDA编程模型CUDA编程模型将CPU作为主机,GPU作为协处理器(co-processor)或设备。在这个模型中,CPU负责逻辑性强的事务处理和串行计算,GPU则专注于高度线程化的并行处理任务。CPU、GPU各自拥有相互独立的存储器地址空间。一旦确定了程序中的并行部分,就可以考虑把这部分计算工作交给GPU。kernel:运行在GPU上的C函数称为kernel。一个kernel函数并不是一个完整的程序,而是整个CUDA程序中的一个可以被并行执行的步骤。当调用时,通过N个不同的CUD 阅读全文
摘要:
转自:http://hackecho.com/2013/04/cuda-parallel-reduction/Parallel Reduction是NVIDIA-CUDA自带的例子,也几乎是所有CUDA学习者的的必看算法。在这个算法的优化中,Mark Harris为我们实现了7种不同的优化版本,将Bandwidth几乎提高到了峰值。相信我们通过仔细研读这个过程,一定能对CUDA程序的优化有更加深刻的认识。下面我们来一一细看这几种优化方案,数据和思想均摘录自官方SDK中Samples的算法说明。Parallel ReductionParallel Reduction可以理解为将一个数组中的所有数 阅读全文
摘要:
Threads are executed in warps of 32, with all threads in thewarp executing the same instruction at the same timeWhat happens if different threads in a warp need to dodifferent things?if (x<0.0) z = x-2.0;else z = sqrt(x);This is called warp divergence – CUDA will generate correctcode to handle th 阅读全文