正在阅读:CUDA用GPU加速高性能计算CUDA用GPU加速高性能计算

2009-04-21 10:24 出处:PConline原创 作者:佚名 责任编辑:yejianfei

  GPU(图形处理器)计算使用 GPU(图形处理器)来执行通用科学与工程计算。

  GPU(图形处理器)计算模型在一个异构计算模型中同时使用了 CPU 和 GPU(图形处理器)。应用程序的顺序部分在 CPU 上运行,计算密集型部分在 GPU(图形处理器)上运行。虽然应用程序使用了 GPU(图形处理器)的卓越性能来提升运行性能,但对用户而言,他们所能感知到的将仅仅是运行速度更快的应用程序。

dfsfadcw33

  应用程序开发人员将需要修改其应用程序中的计算密集型内核,并将其关联到 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)来实现并行处理。

saf3222

  NVIDIA®(英伟达™)率先提供支持的语言为 C 语言。一系列面向 CUDA 的 C 语言软件开发工具支持基于 C 语言,使用最小的关键字或扩展集合来对 GPU(图形处理器)进行编程。对于 Fortran 和 OpenCL 等语言的支持将很快推出。

  CUDA 并行编程模型可支持编程人员将问题划分为粗放子问题,以并行方式独立解决。之后编程人员再对子问题进行精细并行处理,以便所有子问题能够以并行方式协作解决。

 
受不了多愁善感的天气?那就选部好片宅在家 追求极致的体验 神画智能影院F1 Pro新品评测 斐讯与他的0元购:一个猜到开头却猜错结尾的故事 不好意思 你在电脑上干了什么我们都知道! 国外随时掐断咱的网络?危言耸听还是确有其事

为您推荐

加载更多
加载更多
加载更多
加载更多
加载更多
加载更多
加载更多
加载更多
加载更多
热门排行

服务器论坛帖子排行

最高点击 最高回复 最新
最新资讯离线随时看 聊天吐槽赢奖品