`
xiao_yi
  • 浏览: 406270 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多
CUDA(Compute Unified Device Architecture),显卡厂商NVidia推出的运算平台。
       随着显卡的发展,GPU越来越强大,而且GPU为显示图像做了优化。在计算上已经超越了通用的CPU。如此强大的芯片如果只是作为显卡就太浪费了,因此N卡厂商推出CUDA,让显卡可以用于图像计算以外的目的。
       目前只有G80平台的N卡才能使用CUDA,工具集的核心是一个C语言编译器。G80中拥有128个单独的ALU,因此非常适合并行计算,而且数值计算的速度远远优于CPU。
       CUDA的SDK中的编译器和开发平台支持Windows、Linux系统,可以与Visual  Studio2003集成在一起。
       目前这项技术处在起步阶段,仅支持32位系统,编译器不支持双精度数据等问题要在晚些时候解决。当然还有就是Geforce8系列显卡高昂的价格问题了。
CUDA(Compute Unified Device Architecture)是一个新的基础架构,这个架构可以使用GPU来解决商业、工业以及科学方面的复杂计算问题。它是一个完整的GPGPU解决方案,提供了硬件的直接访问接口,而不必像传统方式一样必须依赖图形API接口来实现GPU的访问。在架构上采用了一种全新的计算体系结构来使用GPU提供的硬件资源,从而给大规模的数据计算应用提供了一种比CPU更加强大的计算能力。CUDA采用C语言作为编程语言提供大量的高性能计算指令开发能力,使开发者能够在GPU的强大计算能力的基础上建立起一种效率更高的密集数据计算解决方案。
从CUDA体系结构的组成来说,包含了三个部分:开发库、运行期环境和驱动(表2)。
开发库是基于CUDA技术所提供的应用开发库。目前CUDA的1.1版提供了两个标准的数学运算库——CUFFT(离散快速傅立叶变换)和CUBLAS(离散基本线性计算)的实现。这两个数学运算库所解决的是典型的大规模的并行计算问题,也是在密集数据计算中非常常见的计算类型。开发人员在开发库的基础上可以快速、方便的建立起自己的计算应用。此外,开发人员也可以在CUDA的技术基础上实现出更多的开发库。
运行期环境提供了应用开发接口和运行期组件,包括基本数据类型的定义和各类计算、类型转换、内存管理、设备访问和执行调度等函数。基于CUDA开发的程序代码在实际执行中分为两种,一种是运行在CPU上的宿主代码(Host Code),一种是运行在GPU上的设备代码(Device Code)。不同类型的代码由于其运行的物理位置不同,能够访问到的资源不同,因此对应的运行期组件也分为公共组件、宿主组件和设备组件三个部分,基本上囊括了所有在GPGPU开发中所需要的功能和能够使用到的资源接口,开发人员可以通过运行期环境的编程接口实现各种类型的计算。
由于目前存在着多种GPU版本的NVIDIA显卡,不同版本的GPU之间都有不同的差异,因此驱动部分基本上可以理解为是CUDA-enable的GPU的设备抽象层,提供硬件设备的抽象访问接口。CUDA提供运行期环境也是通过这一层来实现各种功能的。目前基于CUDA开发的应用必须有NVIDIA CUDA-enable的硬件支持,NVIDIA公司GPU运算事业部总经理Andy Keane在一次活动中表示:一个充满生命力的技术平台应该是开放的,CUDA未来也会向这个方向发展。由于CUDA的体系结构中有硬件抽象层的存在,因此今后也有可能发展成为一个通用的GPGPU标准接口,兼容不同厂商的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的设备计算能力多处理器数和 CUDA 核心数

    ### 支持 CUDA 的设备计算能力、多处理器数和 CUDA 核心数 #### 引言 CUDA(Compute Unified Device Architecture)是英伟达推出的一种并行计算平台和编程模型,它允许开发者利用显卡(GPU)的强大计算能力来加速...

    cuda10.1-cuda11.0-cuda11.1 toolkits local installer

    CUDA工具包是CUDA开发的核心组件,包含了CUDA运行时库、开发工具、驱动程序等,使得开发者能够在CUDA兼容的GPU上编写并执行高效能的应用程序。 标题中的"cuda10.1-cuda11.0-cuda11.1 toolkits local installer"指的...

    cuda安装与使用 cuda博客 cuda入门资料

    CUDA(Compute Unified Device Architecture)是由NVIDIA公司推出的一种并行计算平台和编程模型,它使得开发者可以利用图形处理单元(GPU)进行高性能计算。CUDA在科学计算、数据分析、机器学习和人工智能等领域有着...

    配置CUDA 5.0以及MFC的CUDA工程配置

    ### 配置CUDA 5.0以及MFC的CUDA工程配置 #### 一、CUDA环境配置 为了在Visual Studio环境中顺利地开发CUDA程序,并且能够有效地利用MFC(Microsoft Foundation Classes)来创建图形用户界面,我们需要对开发环境...

    CUDA开发示例Demo工程

    CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 该资源主要由Introduction、Utilities、...

    cuda10.1-cuda11.0-cuda11.1各版本windows系统下载

    百度网盘提供,包含以下三种版本的cuda toolkit和对应的cudnn版本,适合windows10系统。 cudnn-10.1-windows10-x64-v7.6.4.38.zip cuda_10.1.243_426.00_win10.exe cudnn-11.0-windows-x64-v8.0.4.30.zip cuda_...

    cuda10.1-cuda11.0-cuda11.1各版本windows系统下载.zip

    百度网盘提供,包含以下三种版本的cuda toolkit和对应的cudnn版本,适合windows10系统。 cudnn-10.1-windows10-x64-v7.6.4.38.zip cuda_10.1.243_426.00_win10.exe cudnn-11.0-windows-x64-v8.0.4.30.zip cuda_...

    cuda vscode编译配置

    CUDA是NVIDIA公司推出的一种并行计算平台和编程模型,主要用于加速高性能计算和深度学习任务。Visual Studio Code(VSCode)是一款轻量级但功能强大的源代码编辑器,支持多种编程语言,包括CUDA C++。在VSCode中配置...

    CUDA详细参数(算力+CUDA支持版本)

    CUDA详细参数(算力+CUDA支持版本) CUDA是NVIDIA推出的集成技术,允许用户利用NVIDIA的GPU进行图像处理之外的运算。通过这个技术,用户可以将自家的CUDA C语言编译成PTX中间语言或是特定NVIDIA GPU架构的机器代码...

    Cuda118和125版本安装包.docx

    ### CUDA 11.8 和 12.5 版本安装包介绍及安装指南 #### 一、CUDA 概述 CUDA(Compute Unified Device Architecture)是 NVIDIA 推出的一种通用并行计算架构,该架构使开发人员能够在 NVIDIA GPU 上进行高性能计算...

    cuda.zip_CUDA ustc_cuda_ustc cuda

    CUDA是NVIDIA公司推出的一种并行计算平台和编程模型,主要应用于高性能计算和图形处理领域。在本"cuda.zip"压缩包中,包含了USTC(中国科学技术大学)课程的CUDA编程作业,具体为"SC17023010_张家强_源代码"。这个...

    CUDA by example (中文:GPU高性能编程CUDA实战)代码实例

    《CUDA by Example》是一本深度探讨GPU高性能编程的权威书籍,中文版名为“GPU高性能编程CUDA实战”。本书通过丰富的实例,详细介绍了CUDA编程模型及其在并行计算中的应用。CUDA,全称为Compute Unified Device ...

    cuda 并行计算试题

    根据提供的信息,我们需要探讨CUDA并行计算试题的相关知识点。CUDA(Compute Unified Device Architecture)是NVIDIA推出的一种通用并行计算架构,它使得开发者可以利用NVIDIA的GPU来执行更为通用的计算任务,而不...

    cuda安装教程 cuda安装教程

    cuda安装教程cuda安装教程cuda安装教程cuda安装教程cuda安装教程cuda安装教程cuda安装教程cuda安装教程cuda安装教程cuda安装教程cuda安装教程cuda安装教程cuda安装教程cuda安装教程cuda安装教程cuda安装教程cuda安装...

    使用二维网格和二维块对矩阵求和_cuda矩阵求和_cuda_矩阵求和_cuda并行_

    在CUDA编程中,矩阵求和是一个常见的操作,特别是在高性能计算和大数据分析领域。CUDA(Compute Unified Device Architecture)是由NVIDIA提出的GPU并行计算框架,它允许程序员直接利用GPU的并行处理能力,以加速...

    nvidia cuda-samples

    CUDA是由NVIDIA公司推出的并行计算平台和编程模型,它允许开发者利用图形处理单元(GPU)进行高性能计算。CUDA-Samples是NVIDIA为开发者提供的一个官方样例集合,旨在帮助学习和理解CUDA编程模型,以及如何在实际...

    CUDA并行程序设计 GPU编程指南,cuda并行程序设计gpu编程指南pdf,C,C++

    CUDA(Compute Unified Device Architecture)是NVIDIA公司推出的一种并行计算平台和编程模型,它使得开发者可以使用C、C++等高级语言直接编写利用GPU(Graphics Processing Unit)进行高性能计算的应用程序。CUDA...

    cuda by example.pdf

    《CUDA by Example》是一本介绍通用目的图形处理单元(GPU)编程的教程书籍,作者是Jason Sanders和Edward Kandrot。本书不仅为读者提供了通过实例学习CUDA编程的机会,也是NVIDIA官方推荐的GPU学习教程。它深入浅出...

    cuda 编程指南 3.0

    CUDA(Compute Unified Device Architecture)是NVIDIA推出的一种并行计算平台和编程模型,它允许开发者利用GPU(Graphics Processing Unit)的强大处理能力进行科学计算、数据分析、机器学习等高性能计算任务。CUDA...

    cuda-11.2.0-460.27.04-linux.run cuda安装包 亲测可用 总共四个 这个是第三个

    cuda-11.2.0-460.27.04-linux.run cuda安装包 亲测可用 总共四个 这个是第三个cuda-11.2.0-460.27.04-linux.run cuda安装包 亲测可用 总共四个 这个是第三个cuda-11.2.0-460.27.04-linux.run cuda安装包 亲测可用 ...

Global site tag (gtag.js) - Google Analytics