什么是 GPU(图形处理器)计算?
GPU(图形处理器)计算使用 GPU(图形处理器)来执行通用科学与工程计算。
GPU(图形处理器)计算模型在一个异构计算模型中同时使用了 CPU 和 GPU(图形处理器)。应用程序的顺序部分在 CPU 上运行,计算密集型部分在 GPU(图形处理器)上运行。虽然应用程序使用了 GPU(图形处理器)的卓越性能来提升运行性能,但对用户而言,他们所能感知到的将仅仅是运行速度更快的应用程序。
应用程序开发人员将需要修改其应用程序中的计算密集型内核,并将其关联到 GPU(图形处理器)。应用程序的其它部分将仍然依赖于 CPU 进行处理。将一项功能关联到 GPU(图形处理器)需要重写功能,以在其中支持并行处理,同时添加“C”关键字以在应用程序和 GPU(图形处理器)之间往返传输数据。
GPU(图形处理器)计算得到了 NVIDIA®(英伟达™)被称作 CUDA 架构的 GPU(图形处理器)大规模并行架构的支持。CUDA 架构由 100 多个处理器内核组成,这些内核能够协作运行来处理应用程序中的数据集。
Tesla 10 系列 GPU(图形处理器)是第二代 CUDA 架构,包含有专为科学应用程序优化的特性,如 IEEE 标准双精度浮点硬件支持、以分布于 GPU(图形处理器)中的共享内存形式存在的本地数据高速缓存、以及结合内存访问等。
GPU(图形处理器)计算的发展历史
图形芯片最初用作固定功能图形管线。随着时间的推移,这些图形芯片的可编程性日益增加,在此基础之上 NVIDIA®(英伟达™)推出了第一款 GPU(图形处理器)。1999-2000 年间,计算机科学家,与诸如医疗成像和电磁等领域的研究人员,开始使用 GPU(图形处理器)来运行通用计算应用程序。他们发现 GPU(图形处理器)具备的卓越浮点性能可为众多科学应用程序带来显著的性能提升。这一发现掀起了被称作 GPGPU(GPU(图形处理器)通用计算)的浪潮。
此处需要解决的问题为 GPGPU 要求使用图形编程语言来对 GPU(图形处理器)进行编程,如 OpenGL 和 Cg 等。开发人员需要使其科学应用程序看起来像图形应用程序,并将其关联到需要绘制三角形和多边形的问题。这一方法限制了 GPU(图形处理器)的卓越性能在科学领域的充分发挥。
NVIDIA®(英伟达™)认识到了让更多科学群体使用这一卓越性能的强大优势,决定投资来修改 GPU(图形处理器),使其能够完全可编程以支持科学应用程序,同时还添加了对于诸如 C 和 C++ 等高级语言的支持。此举最终推动诞生了面向 GPU(图形处理器)的 CUDA 架构。
CUDA 并行架构与编程模型
CUDA 并行硬件架构伴随有 CUDA 并行编程模型。该模型提供了一个抽象集合,能够支持实现精细和粗放级别的数据与任务并行处理。编程人员可以选择使用高级语言(如 C、C++ 和 Fortran)或驱动程序 API(如 OpenCL™ 和 DirectX-11 Compute)来实现并行处理。
NVIDIA®(英伟达™)率先提供支持的语言为 C 语言。一系列面向 CUDA 的 C 语言软件开发工具支持基于 C 语言,使用最小的关键字或扩展集合来对 GPU(图形处理器)进行编程。对于 Fortran 和 OpenCL 等语言的支持将很快推出。
CUDA 并行编程模型可支持编程人员将问题划分为粗放子问题,以并行方式独立解决。之后编程人员再对子问题进行精细并行处理,以便所有子问题能够以并行方式协作解决。
CUDA GPU 架构和相应的 CUDA 并行计算模型当前被广泛部署于 100 多种应用程序中,并被近 1,000 份已发布的白皮书引用。 CUDA Zone 列出了其中的部分应用程序与白皮书。
OpenCL是Apple公司的注册商标,经Khronos Group公司许可使用。
看一看NVIDIA®(英伟达™)Tesla解决方案是如何使下列领域的计算研究发生变革的:
![]() 生物信息学以及生命科学
|
![]() 计算化学
|
![]() 计算电磁学和电磁力学
|
![]() 计算金融
|
![]() 计算流体动力学
|
![]() MATLAB 加速
|
![]() 医疗成像
|
![]() 分子动力学
|
![]() 天气、大气、海洋建模与空间科学
|
领先的OEM厂商在其服务器中集成了NVIDIA®(英伟达™)Tesla S1070 1U 系统或Tesla M1060处理器,这些设备能够增强客户集群的计算能力。 仅用一个由Tesla解决方案构成的小型集群即可体验大型集群的超级计算性能。与仅基于CPU的集群相比,基于Tesla的集群功耗更低、占用空间更小,最高可实现30倍性能。 Tesla预配置解决方案采用革命性的NVIDIA®(英伟达™)CUDA™并行计算架构,每颗Tesla处理器均拥有240个并行处理核心,这些解决方案可完美实现用户对每瓦特性能的渴望,能够帮助用户更快地解决最棘手的计算难题。
超级计算性能
– 革命性的CUDA架构
– 1U外形尺寸最多可集成960个核心,实现4 Teraflop的超高性能。 大规模并行处理 – 计算性能可达标准群集的30倍 |
低功耗、低成本
– 小小群集却拥有超级计算性能
– 群集更小,功耗更低、散热需求更低 |
部署就绪
– 本产品为成套系统,装好群集软件即可投入使用
– 程序用C语言编写,可用于Windows或Linux – 可从全球经销商处购买 |
CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。 开发人员现在可以使用C语言来为CUDA™架构编写程序,C语言是应用最广泛的一种高级编程语言。所编写出的程序于是就可以在支持CUDA™的处理器上以超高性能运行。 将来还会支持其它语言,包括FORTRAN以及C++。
目前,支持CUDA的GPU销量已逾1亿,数以千计的软件开发人员正在使用免费的CUDA软件开发工具来解决各种专业以及家用应用程序中的问题。这些应用程序从视频与音频处理和物理效果模拟到石油天然气勘探、产品设计、医学成像以及科学研究,涵盖了各个领域。 目前市面上已经部署了超过一亿颗支持CUDA的GPU,数以千计的软件开发人员正在使用免费的CUDA软件工具来为各种应用程序加速。

- 用于GPU并行应用开发的标准C语言
- 快速傅里叶转换(FFT)以及基本线性代数子程序(BLAS)的标准数字库
- 专用CUDA驱动器,用于GPU和CPU之间快速数据传输计算
- CUDA驱动程序与OpenGL和DirectX图形驱动程序可以实现互操作
- 支持Linux 32/64位,Windows XP 32/64位以及Mac 操作系统