CUDA可以说是英伟达的科技护城河,那么CUDA是什么时候发布的,作用是什么呢?
这就得说早起电脑,计算核心就一个CPU,CPU虽然计算速度快,但是需要串行计算。即使是多任务,也是切换计算,而不是同时计算。这样日常办公的计算量是可以应付的,但是玩游戏,页面渲染计算量比较大的时候,就会很困难。例如一个画面是汽车爆炸,满天的碎片,每个碎片的运动轨迹,CPU一个个算,CPU不用干别的了。
所以这个时候,就出现了GPU,GPU和CPU的区别是,可以并行计算。
比如爆炸,每个粒子的运动轨迹单独计算,并行计算效率就会提高很多,这就是GPU的能力。所以打游戏得装显卡,用CPU算他有点扛不住。
有朋友又说,那我所有计算都用GPU行吗,并行计算效率高呀。
这就得说两点,
第一,GPU适合简单的运算,对于复杂的计算,还是需要CPU才能处理。
第二,GPU早起只能识别图形数据,比如程序员想要做一个矩阵乘法,还得先把数据包装成图形数据,图形通过GPU计算,拿到图形数据的结果之后,还得把想要的结果从图形数据里分离出来。听着感觉是在脱裤子放屁,但你不这么用,还真就用不了。
针对第二点,英伟达做出了优化。2006英伟达发布了CUDA,目的是让程序员更方便地发挥GPU的能力实现通用计算,就用调接口就行了,不用单独处理图形逻辑,就能实现并行计算。