📜  HIP并行编程语言介绍

📅  最后修改于: 2021-10-21 05:52:00             🧑  作者: Mango

必须有标题术语并行计算、异构计算、高性能计算(HPC) 。如果没有,您可以探索 HPC 领域,它是发展最快的技术之一。几乎覆盖了医疗、安防、娱乐、自动驾驶、金融、石油等所有行业,并且每年都在增长。谷歌、Facebook、微软、Adobe、英特尔、Nvidia、AMD、ARM 等公司是少数积极将创新带入 HPC 领域的公司。

今天有许多异构计算语言可用,很少有知名的语言是OpenCL、Cuda、OpenAMP、HIP 。最近添加到列表中的是Intel 的 OneAPI 和 C++20 (将支持并行计算)。 AMD 开发了 HIP 并行计算语言,它是 C++ 的扩展,因此 C++ 开发人员会喜欢学习这种语言。

要了解它带来的创新,让我们先了解这个问题,今天 Nvidia 拥有 CUDA 语言,它不是设备可移植的。换句话说,用 CUDA 编写的代码不能在 AMD GPU 上运行,因此用 CUDA 编写的应用程序只能在 Nvidia 平台上运行。 HIP 解决了这个问题并带来了创新,使单个代码可以在 AMD 平台或 Nvidia 平台上运行。 AMD 声称用 CUDA 或 HIP 编写的代码不会有任何性能下降。开发人员可以在 HIP 中开发应用程序,并且可以在 Nvidia 或 AMD GPU 上免费运行,这对客户来说是一个很大的解脱。

HIP 与其他配套 HPC 语言相比的优势:

  • 它是开源的,因此可以根据自己的需要进行定制。
  • 它是纯 CPP 扩展,因此与 OpenCL 等任何新语言相比,学习相对容易。
  • 可移植性是开发人员可以珍惜的最大优势,编写一次并在不同的 GPU(AMD/Nvidia)上编译和运行。
  • 包中有一个叫做 hipify 的翻译器,可以在短时间内将 CUDA 源代码翻译成 HIP。