技术开发 频道

CUDA能否改变企业计算模式?


三 Cuda编程如何普及
   降低cuda编程的难度是普及cuda编程的基本条件。 

   尽管CUDA运行在GPU上,“CUDA编程”和“GPGPU编程”并不相同。以前,为GPU编写软件意味着使用GPU语言编程。CUDA允许开发者使用熟悉的编程概念开发能在GPU上运行的软件。它可以通过将软件直接编译到硬件(例如,GPU汇编语言)避免图形层API的性能开销,这样可以提供更好的性能。 

   尽管cuda编程相比传统GPU编程已经接近了开发者很多,但是有开发人员在尝试后发现,CUDA编程的难度还是相当大。一位名叫Bryan O'Sullivan的研发人员表示,CUDA的复杂性令人难以置信,迫使程序员不得不在三种不同的存储器类型、繁复的线程层次、无法自动完成多数任务的编译器之间苦苦挣扎。他在博客说:“细细阅读开发说明是非常有必要的,不然就无法理解CUDA是多么复杂,以及开发人员不得不同时记住多少不同的条条框框。” 

   毕竟传统计算模式下的编程发展了多年,轻松的编程方式和快捷的工具数不胜数。Cuda想要俘获开发人员还需要在这些方面做更多的努力。

资料:
使用CUDA的软件开发 
   CUDA开发包是一个完整的使用GPU的软件开发方案。在SDK包含了标准的FFT和BLAS库、使用NV GPU的C编译器和运行时驱动。CUDA运行时驱动是与常用的同DX和GL协同工作的驱动独立的。同时CUDA对Linux和XP的支持也是相同的。

技术特性
CUDA为线程计算提供了一个统一的硬件和软件解决方案来使用支持CUDA的GPU
可支持CUDA的GPU为高性能计算提供并行数据缓冲和线程执行管理器的支持
可以在GPU上使用的标准C语言
提供了标准数值库FFT和BLAS
为计算提供了独立的CUDA驱动
优化了GPU和CPU之间的数据通信路径
CUDA驱动可以在图形设备之间互操作
支持 LINUX 与 XP 操作系统
从高性能的专业图形解决方案到移动和嵌入式GPU均能使用
为高计算密度程序内建多GPU支持
为程序开发和优化提供硬件调试的性能测试的支持
0
相关文章