CUDA编程是一种依赖于CPU与GPU的编程方式,在异构计算架构中,GPU与CPU通过PCIe总线连接在一起来协同工作,这兄弟俩总结起来就一句话:CPU负责处理逻辑复杂的串行程序,而GPU重点处理数据密集型的并行计算程序。
在有NVIDIA显卡的电脑上,通过cuda C编程可以大大加快某些纯C程序的运行速度
最近和张昊晨同学负责完成一个需求
原有的8k运动矢量,误差能量计算程序,效率太低,需要提高速度
采用CUDA C编程方法
将每个图像块16*16用单独的线程计算
使用<<<2025,64>>>线程块,线程进行计算(取这个数为了保证整除)
基本的知识点为:
global device host 之间函数的调用
采用此基本框架进行改写
效果:
实际使用时间,从双击鼠标到完成计算,提高了30倍左右
主要学习了这几本书: