CUDA是什么

Fanly 2020-08-12 16:04:34
问答

CUDA是由NVIDIA所推出的一种集成技术,用户可利用NVIDIA的GeForce 8以后的GPU和较新的Quadro GPU进行计算。亦是首次可以利用GPU作为C-编译器的开发环境。

CUDA(Compute Unified Device Architecture,统一计算架构)是由 NVIDIA 所推出的一种集成技术,是该公司对于 GPGPU 的正式名称。透过这个技术,用户可利用 NVIDIA 的 GeForce 8 以后的 GPU 和较新的 Quadro GPU 进行计算。亦是首次可以利用 GPU 作为 C-编译器的开发环境。

CUDA

NVIDIA 营销的时候,往往将编译器与架构混合推广,造成混乱。实际上,CUDA 可以兼容 OpenCL 或者自家的 C-编译器。无论是 CUDA C-语言或是 OpenCL,指令最终都会被驱动程序转换成 PTX 代码,交由显示核心计算。

目前,已有软件厂商利用 CUDA 技术,研发出 Adobe Premiere Pro 的插件。通过插件,用户就可以利用显示核心去加速 H.264/MPEG-4 AVC 的编码速度。速度是单纯利用 CPU 作软件加速的 7 倍左右。

在 NVIDIA 收购 AGEIA 后,NVIDIA 获取相关的物理加速技术,即是 PhysX 物理引擎。配合 CUDA 技术,显卡可以模拟成一颗 PhysX 物理加速芯片。目前,全系列的 GeForce 8 显示核心都支持 CUDA。而 NVIDIA 亦不会再推出任何的物理加速卡,显卡将会取代相关产品。

为了将 CUDA 推向民用,NVIDIA 举行一系列的编程比赛,要求参赛者开发程序,充分利用 CUDA 的计算潜能。但是,要将 GPGPU 普及化,还要看微软能否在 Windows 操作系统中,提供相关的编程接口。

2008 年 8 月,NVIDIA 推出 CUDA 2.0。2010 年 3 月 22 日,NVIDIA 推出 CUDA 3.0,仅支持 Fermi 及之后的架构。

CUDA 是一种由 NVIDIA 提出的并由其制造的图形处理单元(GPUs)实现的一种并行计算平台及程序设计模型。CUDA 给程序开发人员提供直接访问 CUDA GPUs 中的虚拟指令集和并行计算组件的存储器。

使用 CUDA 技术,GPUs 可以用来进行通用处理(不仅仅是图形);这种方法被称为 GPGPU。与 CPUs 不同的是,GPUs 有着侧重以较慢速度运行大量并发线程的并发流架构,而非快速运行单一线程。

软件发展者可以通过 CUDA 加速库,编译器指令(如 OpenACC)以及符合工业标准的程序设计语言(如 C,C++和 Fortran)扩展对 CUDA 平台进行操作。C/C++程序师可以使用“CUDA C/C++”,使用“NVCC”——NVIDIA 基于 LLVM 的 C/C++编译器进行编译;Fortran 程序师可以使用“CUDA Fortran”,使用 PGI 公司的 PGI CUDA Fortran 编译器进行编译。除了库、编译器指令、CUDA C/C++和 CUDA Fortran,CUDA 平台还支持其它计算接口,如 Khronos Group 的 OpenCL,Microsoft 的 DirectCompute,以及 C++AMP。其协力厂商封装也可用于 Python,Perl,Fortran,Java,Ruby,Lua,Haskell,MATLAB,IDL 及 Mathematica 的原生支持。

在电脑游戏行业中,GPUs 不仅用于进行图形渲染,而且用于游戏物理运算(物理效果如碎片、烟、火、流体),比如 PhysX 和 Bullet。在计算生物学与密码学等领域的非图形应用上,CUDA 的加速效果达到可以用数量级来表示的程度。

CUDA 同时提供底层 API 与高端 API。最初的 CUDA 软件发展包(SDK)于 2007 年 2 月 15 日公布,支持 Microsoft Windows 和 Linux。而后在第二版中加入对 Mac OS X 的支持,取代 2008 年 2 月 14 日发布的测试版。所有 G8x 系列及以后的 NVIDIA GPUs 皆支持 CUDA 技术,包括 GeForce,Quadro 和 Tesla 系列。CUDA 与大多数标准操作系统兼容。Nvidia 声明:根据二进制兼容性,基于 G8x 系列开发的程序无需修改即可在未来所有的 Nvidia 显卡上运行。

0个人收藏 收藏

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • seagate firecuda 540 SSD 固态硬盘

    怎样提高固态硬盘的使用寿命

    日常使用固态硬盘时,通过避免频繁大量写入、清理无用文件、合理分配存储空间、使用电源保护措施、安装系统和软件到固态硬盘上以及定期更新固件等方式,可以有效提高固态硬盘的使用寿命,延长其使用时间。
  • 希捷 Seagate FireCuda 520 SSD

    SSD固件更新的重要性及其步骤

    固态硬盘的固件更新是确保其稳定性、可靠性和性能的关键步骤。通过定期进行固件更新,用户可以获得更好的使用体验,并且可以避免潜在的问题和漏洞。确保按照制造商的指示和建议进行操作,以确保固件更新的顺利进行。
  • Windows 11

    Windows 11很快将利用GPU实现生成式AI

    微软与英伟达合作开发 TensorRT-LLM,旨在提升装备 RTX 显卡的 Windows 设备用户体验。新版本支持大型语言模型,简化 AI 工作负载处理。TensorRT-LLM 库可提升模型性能,提供 Python API,简化开发。AI Workbench 工具包助力 AI 模型开发。DirectML 增强功能加速 AI 模型,设立新性能标准。TensorRT-LLM 更新提升推断性能,扩展模型支持范围,促进 Windows 11 PC 上 AI 的发展。
  • 雷蛇外置显卡 Razer Core X Chroma

    2023年值得购买的笔记本电脑外置显卡拓展坞推荐

    2023年推荐的外置显卡箱包括Razer Core X Chroma、Sonnet eGFX Breakaway Box和Gigabyte Aorus RTX 4090 Gaming Box。Razer Core X Chroma表现均衡,适配多款显卡。预算友好的选择是Sonnet eGFX Breakaway Box,能连接多款最新显卡,价格有额外优势。而Gigabyte Aorus RTX 4090 Gaming Box是性能最强的选择,内置Nvidia RTX 4090显卡,尽管价格较高,但为求极致性能的用户提供了强大的图形处理能力。
  • Kubernetes

    如何在Kubernetes中使用GPU资源

    Kubernetes支持在容器化应用中使用GPU资源,特别适用于机器学习和高性能计算任务。用户首先需要确保物理主机装有NVIDIA GPU和驱动,然后在Pod定义中请求GPU资源。结合其他工具如Prometheus可以监控GPU使用情况。
  • MacBook

    适合做特效的笔记本电脑有哪些

    特效制作所需笔记本电脑需具备强大的处理器和显卡性能,至少32GB内存,快速的SSD存储,高质量显示屏,有效的散热系统,便捷的外部扩展接口,同时考虑轻便性和可靠的品牌售后服务。根据预算选择合适型号,确保创作过程高效顺畅。