Cuda
发布人:张子卓  发布时间:2019-12-12   浏览次数:1040

官方网站链接:https://developer.nvidia.com/cuda-downloads


CUDACompute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。 开发人员现在可以使用C语言来为CUDA架构编写程序,C语言是应用最广泛的一种高级编程语言。所编写出的程序可以在支持CUDA™的处理器上以超高性能运行。CUDA3.0已经开始支持C++FORTRAN

计算行业正在从只使用CPU的“中央处理”向CPUGPU并用的“协同处理”发展。为打造这一全新的计算典范,NVIDIA™(英伟达™)发明了CUDACompute Unified Device Architecture,统一计算设备架构)这一编程模型,是想在应用程序中充分利用CPUGPU各自的优点。现在,该架构已应用于GeForce™(精视™)、ION™(翼扬™)、Quadro以及Tesla GPU(图形处理器)上,对应用程序开发人员来说,这是一个巨大的市场。

在消费级市场上,几乎每一款重要的消费级视频应用程序都已经使用CUDA加速或很快将会利用CUDA来加速,其中不乏Elemental Technologies公司、MotionDSP公司以及LoiLo公司的产品。

在科研界,CUDA一直受到热捧。例如,CUDA现已能够对AMBER进行加速。AMBER是一款分子动力学模拟程序,全世界在学术界与制药企业中有超过60,000名研究人员使用该程序来加速新药的探索工作。

在金融市场,Numerix以及CompatibL针对一款全新的对手风险应用程序发布了CUDA支持并取得了18倍速度提升。Numerix为近400家金融机构所广泛使用。

CUDA的广泛应用造就了GPU计算专用Tesla GPU的崛起。全球财富五百强企业现在已经安装了700多个GPU集群,这些企业涉及各个领域,例如能源领域的斯伦贝谢与雪佛龙以及银行业的法国巴黎银行。

随着微软Windows 7与苹果Snow Leopard操作系统的问世,GPU计算必将成为主流。在这些全新的操作系统中,GPU将不仅仅是图形处理器,它还将成为所有应用程序均可使用的通用并行处理器。

支持CUDAGPU销量已逾1亿,数以千计的软件开发人员正在使用免费的CUDA软件开发工具来解决各种专业以及家用应用程序中的问题。这些应用程序从视频与音频处理和物理效果模拟到石油天然气勘探、产品设计、医学成像以及科学研究,涵盖了各个领域。

CUDA的核心有三个重要抽象概念: 线程组层次结构、共享存储器、屏蔽同步(barriersynchronization),可轻松将其作为C语言的最小扩展级公开给程序员。

CUDA软件堆栈由几层组成,一个硬件驱动程序,一个应用程序编程接口(API)和它的Runtime,还有二个高级的通用数学库,CUFFTCUBLAS。硬件被设计成支持轻量级的驱动和Runtime层面,因而提高性能。

所支持的OSoperating system

CUDA目前支持linuxWindows操作系统。进行CUDA开发需要依次安装驱动、toolkitSDK三个软件。在安装目录/C/src目录下有很多的例程可以进行学习。

NVIDIA进军高性能计算领域,推出了Tesla&CUDA高性能计算系列解决方案,CUDA技术,一种基于NVIDIA图形处理器(GPU)上全新的并行计算体系架构,让科学家、工程师和其他专业技术人员能够解决以前无法解决的问题,作为一个专用高性能GPU计算解决方案,NVIDIA把超级计算能够带给任何工作站或服务器,以及标准、基于CPU的服务器集群。

CUDA是用于GPU计算的开发环境,它是一个全新的软硬件架构,可以将GPU视为一个并行数据计算的设备,对所进行的计算进行分配和管理。在CUDA的架构中,这些计算不再像过去所谓的GPGPU架构那样必须将计算映射到图形APIOpenGLDirect 3D)中,因此对于开发者来说,CUDA的开发门槛大大降低了。CUDAGPU编程语言基于标准的C语言,因此任何有C语言基础的用户都很容易地开发CUDA的应用程序。

由于GPU的特点是处理密集型数据和并行数据计算,因此CUDA非常适合需要大规模并行计算的领域。目前CUDA除了可以用C语言开发,也已经提供FORTRAN的应用接口,未来可以预计CUDA会支持C++JavaPython等各类语言。可广泛的应用在图形动画、科学计算、地质、生物、物理模拟等领域。

2008NVIDIA推出CUDA SDK2.0版本,大幅提升了CUDA的使用范围。使得CUDA技术愈发成熟。


技术功能

·GPU(图形处理器)上提供标准C编程语言

·为在支持CUDANVIDIA GPU(图形处理器)上进行并行计算而提供了统一的软硬件解决方案

· CUDA兼容的GPU(图形处理器)包括很多:从低功耗的笔记本上用的GPU到高性能的,多GPU的系统。

·支持CUDAGPU(图形处理器)支持并行数据缓存和线程执行管理器

·标准FFT(快速傅立叶变换)和BLAS(基本线性代数子程序)数值程序库

·针对计算的专用CUDA驱动

·经过优化的,从中央处理器(CPU)到支持CUDAGPU(图形处理器)的直接上传、下载通道

· CUDA驱动可与OpenGLDirectX图形驱动程序实相互操作

·支持Linux 32/64位以及Windows XP 32/64位 操作系统

 ·为了研究以及开发语言的目的,CUDA提供对驱动程序的直接访问,以及汇编语言级的访问。



 
copyright@2022长安大学 | 高性能计算平台