图形工作站、集群应用方案
  • 网站首页
  • 商城
  • 产品
  • 行业计算
  • 科学工程计算
  • 化学&生物
  • 图形设计
  • 图像处理
  • 视景仿真
  • 人工智能
  • 影视后期
全球领先的高端图形工作站供应商

免费测试 热线 : 400-7056-800 【 为任何应用提供 最快计算设备 如不符,退货】【最新报价】【选购指南】【京东商城】



企业通用模版网站

  • 科研团队全能超算平台25v1
  • 超高分拼接 数字孪生
  • 科学计算MatLAB工作站24
  • 地质建模 油藏模拟工作站
  • 工业CT扫描 机器视觉计算
  • 电力系统关键应用配置24
  • 网站首页
  • 商城
  • 产品
  • 行业计算
  • 科学工程计算
  • 化学&生物
  • 图形设计
  • 图像处理
  • 视景仿真
  • 人工智能
  • 影视后期
  • 送无人机啦 8核6.4GHz  96核4.8GHz 加速改装 

  • 高性能集群 虚拟并行计算 芯片设计 光学仿真 

  • 蛋白质预测 生物信息 冷冻电镜 材料模拟

  • RSS订阅
  • 理科计算推荐
  • 仿真计算最快最完美25v1
  • 电磁仿真单机与集群25v1
  • 航拍实景建模单机集群
  • 遥感图像处理工作站集群
  • 4K/8K剪辑特效调色24v1
  • AI大模型工作站集群25v1
  • Abaqus硬件配置大全24v3
  • CST电磁仿真工作站25v1
  • 多物理场仿真单机与集群
  • 流体/空气动力学仿真25v1
  • 量子化学 分子动力模拟
  • 三维设计24v2  3D打印

 

您的位置:UltraLAB图形工作站方案网站 > GPU计算 > GPU开发工具 > CUDA:一种在GPU上进行计算的新架构

CUDA:一种在GPU上进行计算的新架构

时间:2008-12-17 11:25:00   来源:UltraLAB图形工作站方案网站   人气:11435 作者:admin
前面我们提到过CUDA,那CUDA到底是何方神圣呢?

  它是我们迫切需要的新颖的硬件和编程模型,能让GPU的计算能力得以完全发挥,并将GPU暴露为一种真正通用的数据并行计算设备。

  CUDA表示Compute Unified Device Architecture(统一计算设备架构),是NVIDIA为自家的GPU编写了一套编译器及相关的库文件。作为一种新型的硬件和软件架构,用于将GPU上作为数据并行计算设备在GPU上进行计算的发放和管理,而无需将其映射到图像API。
A1.jpg 

CUDA提供了硬件的直接访问接口,不必依赖图形API

  CUDA可用于GeForce 8系列、Tesla解决方案和一些Quadro解决方案,操作系统的多任务机制负责管理多个并发运行的CUDA和图像应用程序对GPU的访问。

  CUDA采用C语言作为编程语言提供大量的高性能计算指令开发能力,使开发者能够在GPU的强大计算能力的基础上建立起一种效率更高的密集数据计算解决方案。CUDA是业界的首款并行运算语言,而且其非常普及化,目前有高达8千万的PC用户可以支持该语言。

  CUDA的特色如下,引自NVIDIA的官方说明:

  1、为并行计算设计的统一硬件软件架构。有可能在G80系列上得到发挥。
  2、在GPU内部实现数据缓存和多线程管理。这个强,思路有些类似于XB360 PS3上的CPU编程。
  3、在GPU上可以使用标准C语言进行编写。
  4、标准离散FFT库和BLAS基本线性代数计算库。
  5、一套CUDA计算驱动。
  6、提供从CPU到GPU的加速数据上传性能。瓶颈就在于此。
  7、CUDA驱动可以和OpenGL DirectX驱动交互操作。这强,估计也可以直接操作渲染管线。
  8、与SLI配合实现多硬件核心并行计算。
  9、同时支持Linux和Windows。

◆ CUDA:主导GPU计算的革命

GPU超强的计算能力让它在通用计算领域大有可为,而CUDA则让它变成可能,简单易用的开发环境让CUDA主导起GPU计算的革命。

  正如NVIDIA首席科学家David Kirk所说:“我认为CUDA已经取得了空前成功,它的接受程度令人吃惊。这也表明了人们希望对整台电脑进行编程的浓厚兴趣。过去人们往往是编写一个C程序来控制CPU,再编写一个图形程序来控制GPU。你一定想通过编写一个程序来控制CPU和GPU。因此我坚信,将来CUDA将变得无处不在。如果要对CPU和GPU进行编程并管理系统中的所有资源,那就没有理由不用CUDA。”

  GPU正逐渐将并行计算推向主流,并行计算与异构处理器系统的“联姻”将是大势所趋。而主导这场变革的就是CUDA。随着越来越多的开发者加入到CUDA怀抱,支持CUDA的软件必将渗透到我们生活的方方面面,亿万次的计算能力是我们充满期待最好的诠释。

◆ CUDA的本质

  CUDA的本质是,NVIDIA为自家的GPU编写了一套编译器NVCC极其相关的库文件。CUDA的应用程序扩展名可以选择是.cu,而不是.cpp等。

NVCC是一个预处理器和编译器的混合体。当遇到CUDA代码的时候,自动编译为GPU执行的代码,也就是生成调用CUDA Driver的代码。如果碰到Host C++代码,则调用平台自己的C++编译器进行编译,比如Visual Studio C++自己的Microsoft C++ Compiler。然后调用Linker把编译好的模块组合在一起,和CUDA库与标准CC++库链接成为最终的CUDA Application。由此可见,NVCC模仿了类似于GCC一样的通用编译器的工作原理(GCC编译CC++代码本质上就是调用cc和g++)。
A4.jpg
 CUDA在执行的时候是让host里面的一个一个的kernel按照线程网格(Grid)的概念在显卡硬件(GPU)上执行。每一个线程网格又可以包含多个线程块(block),每一个线程块中又可以包含多个线程(thread)。

  以军队来打比方,每一个线程,就相当于每一个士兵,当要执行某一个大的军事任务的时候,大将军(Host)发布命令,把这次行动分解成一个一个的子任务(kernel_1,kernel_2……kernel_M),每个子任务由不同的统领(Grid)负责,各统领又把任务分成一部分一部分,划分给手下的小头目(Block),这些任务就由小头目下的士兵(Thread)去执行完成。 #p#page_title#e#

  通过CUDA编程时,将GPU看作可以并行执行非常多个线程的计算设备(compute device)。它作为主CPU的协处理器或者主机(host)来运作:换句话说,在主机上运行的应用程序中数据并行的、计算密集的部分卸载到此设备上。

  经过了CUDA对线程、线程块的定义和管理,在支持CUDA的GPU内部实际上已经成为了一个迷你网格计算系统。在内存访问方面,整个GPU可以支配的存储空间被分成了寄存器(Register)、全局内存(External DRAM)、共享内存(Parallel Data Cache)三大部分。其中寄存器和共享内存集成在GPU内部,拥有极高的速度,但容量很小。共享内存可以被同个线程块内的线程所共享,而全局内存则是我们熟知的显存,它在GPU外部,容量很大但速度较慢。经过多个级别的内存访问结构设计,CUDA已经可以提供让人满意的内存访问机制,而不是像传统GPGPU那样需要开发者自行定义。

  在CUDA的帮助下普通程序员只要学习一点点额外的GPU架构知识,就能立刻用熟悉的C语言释放GPU恐怖的浮点运算能力,通过CUDA所能调度的运算力已经非常逼近万亿次浮点运算(GeForce 280GTX单卡浮点运算能力为933GF LOPS)。而在此之前要获得万亿次的计算能力至少需要购买价值几十万元的小型机。

CUDA支持的GPU (CUDA-enabled GPU)包含GeForce、Quadro和Tesla三个系列:GeForce是NVIDIA公司面向消费市场的GPU产品;Quadro是面向专业图形市场的GPU产品;而Tesla则是专门面向GPU计算的产品,它不具备图形输出的功能,因此不能作为图形卡来使用。这三个产品面向不同的应用领域,因此建议在开发和部署CUDA应用的时候需要考虑到产品的应用决定采用不同的GPU。

  NVIDIA的CUDA-enabled GPU具有一个完整的产品线,各种用户都可以从中选择到合适自己的产品。对于有高密度计算能力需求的用户来说,Quadro和Tesla则是必须的选择。诸如Quadro Plex 1000 Model S4和Tesla S870在一个1U高度的标准服务器机架机箱内装备了四个GPU,每个GPU具备128个stream processor以及1.5GB的存储器,每个1U装置总共具备512个stream processor和6GB存储器,非常适合于有高密度、大规模数据计算需求的用户

关闭此页
上一篇:全球頂尖学府采用NVIDIA CUDA教授并行计算編程課程
下一篇:Nvidia GT200:详解并行处理器

相关文章

  • 05/19LiDAR点云处理主要计算环节分析及最快硬件配置
  • 05/19卫星/无人机影像/空三/测绘/LiDAR点云处理计算分析及最全最新工作站/便携/集群硬件配置推荐25v2
  • 05/19卫星/无人机影像/空三/测绘/LiDAR点云处理--最快工作站/便携/集群硬件配置推荐25v2
  • 05/13体系化仿真计算设备系统组成分析及工作站/服务器/存储配置推荐
  • 05/12AMD 第 6 代 EPYC Venice:发现 CCD 配置和线程性能
  • 05/12UltraLAB定制图形工作站产品介绍2025v2
  • 05/09Xeon6代+4块GPU--图灵超算工作站GT450M介绍
  • 05/09汽车风阻测试模拟分析、算法,及服务器/工作站计算设备硬件配置推荐
  • 04/26高频交易(HFT)应用分析、算法,服务器/工作站硬件配置推荐
  • 04/25衍生品定价与风险对冲应用分析、算法,及服务器工作站硬件配置

工程技术(工科)专业工作站/服务器硬件配置选型

    左侧广告图2

新闻排行榜

  • 1深入浅出谈CUDA-CUDA详解
  • 2CUDA的应用与案例详解
  • 3CUDA 在linux系统安裝指南
  • 4深入浅出谈CUDA-GPI的硬件架构
  • 5CUDA软硬件环境简介
  • 6DirectCompute & DirectX 11 计算着色器编程简介(翻译)
  • 7基于GPU的遥感影像数据融合IHS变换算法
  • 8Windows 7与CUDA架构的兼容性测试
  • 9CUDA:领导GPU高性能计算的革命
  • 10CUDA的应用领域与发展前景

最新信息

  • ArrayFire新版本支持Intel Xeon Phi协处理器
  • PGI将OpenACC技术扩展至英特尔Xeon Phi协处理器
  • NVIDIA面向高性能计算开发推出Nexus环境
  • Windows 7与CUDA架构的兼容性测试
  • 异构计算两大引擎再次加速
  • DirectCompute & DirectX 11 计算着色器编程简介(翻译)
  • 用GPU通用并行计算绘制曼德勃罗特集图形 下篇
  • 用GPU通用并行计算绘制曼德勃罗特集图形 上篇

应用导航:

工作站产品中心 京东商城 中关村商城 淘宝商城 超高分可视化商城 便携工作站商城 ANSYS CATIA Microsoft INTEL NVIDIA 网站统计

公司简介-业务咨询-招聘英才-资料下载-UM-

本网站所有原创文字和图片内容归西安坤隆计算机科技有限公司版权所有,未经许可不得转载
陕ICP备16019335号 陕公网安备61010302001314号
Copyright © 2008-2023 , All Rights Reserved

首页
热线
商城
分类
联系
顶部