文档详情

NVIDIA显卡支持CUDA.doc

发布:2017-02-25约7.63万字共30页下载文档
文本预览下载声明
CUDA CUDA(Compute Unified Device Architecture)是一个新的基础架构,这个架构可以使用GPU来解决商业、工业以及科学方面的复杂计算问题。它是一个完整的GPGPU解决方案,提供了硬件的直接访问接口,而不必像传统方式一样必须依赖图形API接口来实现GPU的访问。在架构上采用了一种全新的计算体系结构来使用GPU提供的硬件资源,从而给大规模的数据计算应用提供了一种比CPU更加强大的计算能力。CUDA采用C语言作为编程语言提供大量的高性能计算指令开发能力,使开发者能够在GPU的强大计算能力的基础上建立起一种效率更高的密集数据计算解决方案。 关于NVIDIA CUDA技术 NVIDIA CUDA技术是当今世界上唯一针对NVIDIA GPU(图形处理器)的C语言环境,为支持CUDA技术的NVIDIA GPU(图形处理器)带来无穷的图形计算处理性能。凭借NVIDIA CUDA技术,开发人员能够利用NVIDIA GPU(图形处理器)攻克极其复杂的密集型计算难题,应用到诸如石油与天然气的开发,金融风险管理,产品设计,媒体图像以及科学研究等领域。 CUDA? 工具包是一种针对支持CUDA功能的GPU(图形处理器)的C语言开发环境。CUDA开发环境包括: nvcc C语言编译器 适用于GPU(图形处理器)的CUDA FFT和BLAS库 分析器 适用于GPU(图形处理器)的gdb调试器(在2008年3月推出alpha版) CUDA运行时(CUDA runtime)驱动程序(目前在标准的NVIDIA GPU驱动中也提供) CUDA编程手册 CUDA开发者软件开发包(SDK) 提供了一些范例(附有源代码),以帮助使用者开始CUDA编程。这些范例包括: 并行双调排序、矩阵乘法、矩阵转置、利用计时器进行性能评价、并行大数组的前缀和(扫描)、图像卷积 使用Haar小波的一维DWT OpenGL和Direct3D图形互操作示例 CUDA BLAS和FFT库的使用示例 CPU-GPU C—和C++—代码集成 二项式期权定价模型 Black-Scholes期权定价模型 Monte-Carlo期权定价模型 并行Mersenne Twister(随机数生成) 并行直方图 图像去噪 Sobel边缘检测滤波器 MathWorks MATLAB? 插件 (点击这里下载) 新的基于1.1版CUDA的SDK 范例现在也已经发布了。 技术功能 在GPU(图形处理器)上提供标准C编程语言 为在支持CUDA的NVIDIA GPU(图形处理器)上进行并行计算而提供了统一的软硬件解决方案 CUDA兼容的GPU(图形处理器)包括很多:从低功耗的笔记本上用的GPU到高性能的,多GPU的系统。 支持CUDA的GPU(图形处理器)支持并行数据缓存和线程执行管理器 标准FFT(快速傅立叶变换)和BLAS(基本线性代数子程序)数值程序库 针对计算的专用CUDA驱动 经过优化的,从中央处理器(CPU)到支持CUDA的GPU(图形处理器)的直接上传、下载通道 CUDA驱动可与OpenGL和DirectX图形驱动程序实现互操作 支持Linux 32位/64位以及Windows XP 32位/64位 操作系统 为了研究以及开发语言的目的,CUDA提供对驱动程序的直接访问,以及汇编语言级的访问。 使用了CUDA的GPU计算通过标准的C语言将下一代NV GPU的总多计算特性结合到一起。在这之前的GPU是基于“流式着色程序”的,CUDA则使用C语言,通过“线程”来创建应用程序,这类似于CPU上的多线程程序。相比较于仅能有很少线程同时工作的多核CPU的而言,NV GPU的特性可以让CUDA同时执行数千个线程,这将令我们的应用能处理更多的信息流。 CUDA所提供的最重要的创新在于,它使得工作在GPU上的线程可以协作解决问题。在线程间通讯实现以后,CUDA将允许应用程序更加高效的执行。由NV GPUs的支持,CUDA有一个直接在GPU上的并行计算缓存,它用于保存频繁使用的信息。在GPU上保存信息可以让计算线程即刻得到共享数据而不是去漫长的等待off-chip的DRAM上的数据。它能让用户实时的计算出复杂问题的答案。 ? ?曾几何时,我们购买一块显卡的时候首先需要了解它究竟能提供多少特效,能支持多少游戏。而随着显示芯片蜕变为GPU,显卡首次被赋予了可编程功能。在随后的10年里,GPU以超越CPU的速度高速发展。今天即便是最便宜的显卡,也可以实现一切游戏制作人想要的特性,300元和3000元显卡之间的区别更多是执行这些应用的快慢,而非能否执行。 在DirectX 9的时代,GPU的可编程性迎来了革命性
显示全部
相似文档