2008年1月17日,NVIDIA公司在北京召开了主题为“专业视觉计算的革命 - NVIDIA专业图形解决方案高端论坛” 。论坛上,来自NVIDIA公司的GPU计算事业部的总经理Andy Keane和专业解决方案事业部全球销售副总裁Walter Mundt-Blum,介绍了NVIDIA公司为专业人士设计的最新Quadro 解决方案,以及具有革命性的创新计算架构的NVIDIA CUDA技术。
CUDA,怎么创新?如何革命?对电子工程师的价值在哪里?
CUDA本意:GPU性能协助CPU
CUDA是一个全新的计算架构和思路,能够让GPU(图形处理器)在消费类、商务和技术应用方面解决复杂的计算问题。如果把CUDA设想为NVIDIA设计的新产品,旨在用GPU日益提升的性能协助CPU处理复杂任务,那我们的问题可能仅仅是:CUDA和多核处理器的区别等等。我们认可CUDA对图形处理技术带来的创新,但是对电子工程师的价值何在?对此,我们也采访了一些对CUDA小有研究的EDN读者和网友。
大家都认可,GPU的性能和运算资源受到越来越多的关注,但硬件开发者是否在系统中提供这种资
源,以及软件开发者如何使用这种资源取决于应用领域和应用目标。目前一个主要提供GPU资源的平台是计算机(如PC),由于计算机平台的通用性和开放性,软件开发者如何使用这一资源取决于应用需求。电子行业和CUDA的接触点目前可能主要就两个:一是系统设计者是否在系统中加入带图形计算单元的部件,二是电子行业设计所使用的EDA/CAD软件本身利用了CUDA技术提高工具的仿真模拟性能。我们期待软件开发者在需要的领域、合适的时机提供相应的智慧支持,提升软件的性能,从而提升我们设计的效率。但是另一个相当有潜质的发展空间是嵌入式系统,例如基于PC构架的嵌入式系统(VIA的Mini-ITX等)以及逐渐加入GPU资源的手持设备。嵌入式系统设计领域的可行性,可以应用于发展迅速的医疗电子、汽车电子、消费电子领域,市场前景就相当可观,技术人员也大有可为。
CUDA潜力:开放带来更多行业用户
在我向浙江大学的研究生、图形计算技术爱好者胡欣幸请教CUDA的技术价值时,他这样向我描述:“GPU资源的良好的运用离不开良好的API,CUDA是nVidia在此方向的一个努力。通过不同层次的API对硬件和行为的抽象,能够使软件开发者从自己熟悉的软件编程模型和逻辑进行应用的开发。如果相信GPU是一种值得推广使用的计算资源,那么有理由相信类似CUDA的编程构架应该会更多地出现,并竞逐事实标准。”
如果还纠缠在原来的市场和竞争关系中,就失去了CUDA本身的意义。但是打入新的地域和行业,又谈何容易。这样的标准竞逐,仅仅是一个开端。就前面讲到的医疗电子、汽车电子、消费电子,每个分支中的计算单元都对竞争对手虎视耽耽,而新技术与成熟技术之间的竞争也相当激烈。就此我采访了一些活跃于电子行业和嵌入式设计的朋友,他们对CUDA的概念是零。我又咨询了用数值模拟方法来进行航空发动机设计的老师,他认为,这是开发数值模拟设计商业软件的厂商的事情。。。而我们从NVIDIA提供的资料看,CUDA的应用领域相当广泛。
CUDA的推广,关键点还是在开放的程度如何。
CUDA,作为一种开放的软件环境,能否降低GPU计算的应用门槛,为众多PC和工作站使用者熟悉并且应用?如果答案是肯定的,那么,GPU性能的利用一定能够揭开她的神秘面纱,GPU的市场也将取得迅猛发展。同时,CUDA的技术为它的标准进程提出了3个条件:
1、CUDA是一个GPU的C编译器或者说是个软件开发环境,它的使用者是面向那些高性能计算的开发者。
2、有足够多的用户将自己的智慧结晶共享出来,形成一个大程序库,即使我不懂怎么写程序,但是有足够多的软件供我安装使用。
3、足够多的行业用户加入成为CUDA一员,每个行业中有足够多的成功案例和开放资源。前面提到的电子行业中的两种应用方向,就是众多行业中的一个。
在我看来,NVIDIA CUDA本身便具备了前两个条件。第三个条件,与CUDA乃至整个NVIDIDA公司的市场推广策略、技术支持方式与渠道、第三方合作的广度和深度都息息相关。 如果实现这个目标,CUDA是作为标准的竞争者胜出,其意义远高于GPU或者显卡的销量胜过了竞争对手。
CUDA中国:验证开源的价值
CUDA本身是完全免费的一个开发工具,任何开发者都可以从NVIDIA网站上下载相应的开发工具和使用手册。这对于技术爱好者来说是个福音!
随便google一下“NVIDIA CUDA”,除了官方消息、技术文档的发布和一些记者的采访文章,并不能找到太多关于CUDA的讨论和应用案例。如果有耐心,可以从繁体