CUDA(Compute Unified Device Architecture),是显卡厂商 NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。开发人员现在可以使用高级语言基于CUDA架构来编写程序。利用CUDA能够充分地将GPU的高计算能力开发出来,并使得GPU的计算能力获得更多的应用。
不同于以前将计算任务分配到顶点着色器和像素着色器,CUDA架构包含一个统一的着色器管线(Pipeline),允许执行通用计算任务的程序配置芯片上的每一个算术逻辑单元(Arithmetic Logic Unit,ALU)。所有ALU的运算均遵守IEEE对单精度浮点数运算的要求,而且还使用了适于进行通用计算而不是仅仅用于图形计算的指令集。此外,对于存储器也进行了特殊设计。这一切设计都让CDA编程变得比较容易。目前,CUDA架构除了可以使用C语言进行开发之外,还可以使用FORTRAN、Python、C++ 等语言。CUDA开发工具兼容传统的C/C++编译器GPU代码和CPU的通用代码可以混合在一起使用。熟悉C语言等通用程序语言的开发者可以很容易地转向CUDA程序的开发。
内容来源:黄海 《虚拟现实技术》