NVIDIA在成功的将旗下GeForce 8800GS等一些显卡产品通过更换命名的方式归入GeForce 9系列军团后,又再一次将GeForce 9系列中的一员大将归入GT200之列。在今晚举行的Cebit2009展会上,NVIDIA GeForce GTS 250将正式登台亮相,虽然该卡只是由原GeForce 9800GTX+直接改名后的新
CUDA的衍生 GTS250一贯秉承
随着显示芯片已慢慢蜕变为GPU后,显卡已经被赋予了可编程的功能。在之后几年中,GPU也以超越CPU的速度而高速的发展。如今即便是最最便宜的显卡也可以实现一切游戏策划者需要的特效。无论是299、599还是1399、2199,它们之间的区别可能更多的是对于执行这些特效的速度,而并非是否能执行。
早在2002年,NVIDIA引入了GPU中计算的技术,将32位浮点技术搭载与GPU中,NVIDIA十分期待技术人员能将GPU超强的计算能力应用于程序,还不是图形。但早期的GPU是用类似OpenGL或Cg的图形API编程的,这些API是很难的,并且大多数技术人员对这类API也并不是十分的熟悉。
到了2003年,NVIDIA又开始了新的尝试,这次工程设计的尝试产生了后来在2006年出现在8系列GPU的CUDA技术。而目前所有8系列GPU,包括从笔记本电脑到高性能的系统,都具备了CUDA技术。只不过因为那时候CUDA还未成型,所以没有公布,而现在,基于CUDA的应用程序越来越多,因此伴随着GTX200系列芯片的发布,CUDA也同时正式大范围的推广并介绍给普通消费者。
GPU的性能正逐步变得强大,此时,无论是Intel还是AMD都发现了这一点,不过因为自身处理器发展成熟,所以两家处理器巨头都采用了GPGPU,也就是给予X86处理器构架的平台。GPGPU与NVIDIA概念上的区别就是,GPGPU的应用往往要了解OepnGL编程或者DirectX编程,而CUDA则是仍然通过API送入GPU。如果你应用不涉及到OpenGL或者DirectX的话,就可以不用理会API,也就是说GPGPU进行通用计算,是通过把这些问题转换成图形计算后送到GPU中完成的,而CUDA则可以直接调用GPU的计算资源,成为高性能计算的软件开发环境。
说了那么多肯定会有一些网友不太明白,CUDA究竟是什么呢?好了,CUDA(Compute Unified Device Architecture)就是NVIDIA推出的一个基于GPU的运算平台,它可以让显卡除了用于图像计算以外的目的。CUDA工具集的核心其实是一个C语言编译器。
当然,万物皆不完美,其还是主要去做那些能够分成很多个独立线程的数值计算。比如说矩阵的乘法计算,矩阵相对应的元素的计算是没有什么联系的,可以很多个线程同时送入很多个处理器进行并行处理,这就非常适合于用CUDA来解决。当然并不是所有的事情CUDA都能够很好地解决,比如像操作系统这样复杂的指令和纷繁的分支循环而又用很少的线程来处理,这显然就不是CUDA的强项了。高度并行的计算是CUDA的技术特性之一。
目前来说,CUDA已经被应用在了许多领域中,包括在通用计算中的一些GPU加速,游戏中的物理模拟等等,而在科学计算中,CUDA可发挥的功效就更大了。比如有限元的计算、神经元的研究计算、地质分析等等科学研究的领域;当然目前GPU计算的应用还是处于一个早期的阶段,大部分CUDA应用都是专业人员和相关的程序员在开发,随着CUDA的广泛推行,以后会有实际的基于CUDA的程序,更多的程序员能够加入进来,并且开发一些可以给大家日常应用带来好处的程序,只要有支持CUDA的GPU就能够利用到GPU计算的好处。
网友评论