CUDA模拟器来了!AMD、英特尔摆脱英伟达束缚之利器

原创 EETOP 2024-01-04 12:05

模拟/仿真(emulation不仅仅是最真诚的奉承形式。这也是您如何开始采用新的计算引擎或将整个软件堆栈从一个平台移动到具有不同架构的另一个平台的方式。仿真总是会带来某种形式的性能影响,但如果您足够聪明,它可以是适度的,并且是对实际将代码从一个计算引擎移植到另一个计算引擎时节省的时间和精力的公平补偿。

现在,CPU 既有矢量数学单元,也有矩阵数学单元,而 GPU 计算引擎的短缺又无法满足生成式人工智能热潮带来的巨大需求,因此,毫无疑问,人们不仅需要CUDA 并行编程环境(Nvidia 将其作为 GPU 计算平台的核心)的替代品,还需要在任何可以进行矢量或矩阵数学运算的设备上运行 CUDA 代码。AMD的 HIP(其 ROCm 堆栈的一部分)和英特尔的SYCL(其 oneAPI 的核心)等替代性并行(在特性和功能方面)编程环境可以帮助CUDA 程序员将其知识应用到新设备上,这非常好。但是,在代码的某些部分还存在很多问题,而且还没有一个通用的模拟器可以将CUDA 转换到任何 GPU 或 CPU。

我们在 GPU 和 CPU矢量/矩阵计算方面需要的是类似 QuickTransit 模拟器的东西,它是由曼彻斯特大学一个聪明的技术团队创造的,经过四年的开发,于 2004 年由一家名为Transitive 的公司作为商业产品推出。

你们中的许多人都在不知不觉中使用过 QuickTransit。超级计算机制造商 SGI 在从MIPS 转向 Itanium 架构的过程中率先采用了这种模拟器,苹果公司也紧随其后,在其客户端计算机从 PowerPC 转向英特尔酷睿处理器的过程中,将自己的 "Rosetta "仿真环境建立在 QuickTransit 的基础上。IBM于 2008 年收购了 Transitive 公司,但由于放开它太危险了,所以基本上没有投入使用。(Big Blue公司确实利用该技术在其 Power iron 上为Linux 提供了 X86 运行环境,但在 2012 年停止了对该技术的支持)。

虽然我们没有针对 GPU 的QuickTransit,但我们确实有一个由佐治亚理工的研究人员和首尔国立大学的研究人员共同开发的名为CuPBoP "Cuda for Parallelized and Broad-range Processors"(针对并行化和宽范围处理器的 Cuda)的东西,它可以将 CUDA 内核自动移植到LLVM 编译器堆栈上运行,并在 GPU 或 CPU 上执行。(有趣的是,LLVM 的创建者之一Chris Lattner 是模块化人工智能公司(Modular AI)的首席执行官,该公司正在创建一种名为 Mojo 的新编程语言,在更高层次上为跨多种设备的人工智能应用提供一种可移植性)。这个 CuPBoP 框架在概念上有点像QuickTransit,但又完全不同。

CuPBoP 框架是在 2022 年 6 月发表的一篇论文中介绍的该框架的源代码可在 GitHub 上找到。CuPBoP 本周引起了我们的注意,佐治亚理工学院的研究人员发布了一种名为 CuPBoP-AMD 的框架变体,该变体经过调整可在 AMD GPU 上工作,并提供了ROCm 中 AMD HIP 环境的替代方案,可将 Nvidia CUDA 代码移植到AMD GPU。很多人都在想,现在AMD 正在推出其“Antares”MI300X 和MI300A 计算引擎,它们可以与Nvidia Hopper H100 和 H200 设备正面交锋了。

CuPBoP-AMD论文链接:

https://dl.acm.org/doi/pdf/10.1145/3624062.3624185

当 AMD 和英特尔谈论移植或仿真 CUDA 应用程序时,佐治亚理工的团队是这样看待在丹佛 SC23 超级计算大会上发表的后一篇论文的:

"英特尔有一个名为 SYCLomatic 的数据并行C++ (DPC++) 库,用于将 CUDA 转换为 SYCL,该库在ROCM 4.5.1 中支持 AMD GPU 的运行时,但在撰写本文时,该库还处于测试模式,没有完整的功能支持。AMD 利用HIPIFY 将 CUDA 转换为 HIP。不过,HIPIFY并不考虑纹理内存中的设备侧模板参数和多个 CUDA 头文件".cuh"。因此,HIPIFY需要开发人员手动操作。在大型 CUDA 程序库中,开发人员的手动操作可能非常麻烦,而这正是 CuPBoP 框架要解决的问题。CuPBoP是一个允许在非英伟达设备上执行 CUDA 的框架"。

CuPBoP 的部分诀窍在于使用 LLVM 框架及其Clang 编译器,它可以将 Nvidia CUDA 和 AMD HIP 程序编译成标准的中间表示(IR)格式,然后再将其编译成 AMD GPU 的二进制可执行文件。CuPBoP 编译流水线如下所示:

CuPBoP 框架创建两个 IR 文件,一个用于内核代码,一个用于主机代码,并且正是在这个 IR 级别完成对AMD GPU 的转换,而不是在更高级别上完成转换宏和单独的头文件AMD的HIP工具有些麻烦。

目前,CuBPoP 框架仅支持Rodinia Benchmark中使用的 CUDA 功能,Rodinia Benchmark 是弗吉尼亚大学创建的一套测试,用于测试 2009 年首次亮相的当前和新兴技术,当时 GPU 刚刚开始使用他们进入数据中心的方式。Rodinia 应用程序和内核涵盖数据挖掘、生物信息学、物理模拟、模式识别、图像处理和图形处理算法——高级架构的创建是为了更好地解决这些问题。

以下是 CuPBoP 框架的CuPBoP-AMD 变体如何与 ROCm 堆栈中的 AMD HIPIFY 工具进行对比:

就已转换为在 AMD GPU 上运行的CUDA 代码的执行而言,CuPBoP-AMD 的性能看起来与 HIP 没有区别。当然,我们很想看看被翻译后的 CUDA 代码与在Nvidia A100、H100 和 H200 GPU 上本地运行的情况有何不同。研究人员表示,CuPBoP-AMD 仍在进行中,需要启用更多 Rodinia 基准功能。这始终是模拟器和翻译器的问题:他们总是在追赶。但是,话又说回来,它们让新平台实际上能够更快地迎头赶上。

本文由EETOP编译自nextplatform


点这里👇关注我,记得标星哦~


EETOP EETOP半导体社区-国内知名的半导体行业媒体、半导体论坛、IC论坛、集成电路论坛、电子工程师博客、工程师BBS。
评论
  • 嘿,咱来聊聊RISC-V MCU技术哈。 这RISC-V MCU技术呢,简单来说就是基于一个叫RISC-V的指令集架构做出的微控制器技术。RISC-V这个啊,2010年的时候,是加州大学伯克利分校的研究团队弄出来的,目的就是想搞个新的、开放的指令集架构,能跟上现代计算的需要。到了2015年,专门成立了个RISC-V基金会,让这个架构更标准,也更好地推广开了。这几年啊,这个RISC-V的生态系统发展得可快了,好多公司和机构都加入了RISC-V International,还推出了不少RISC-V
    丙丁先生 2025-01-21 12:10 347浏览
  • 现在为止,我们已经完成了Purple Pi OH主板的串口调试和部分配件的连接,接下来,让我们趁热打铁,完成剩余配件的连接!注:配件连接前请断开主板所有供电,避免敏感电路损坏!1.1 耳机接口主板有一路OTMP 标准四节耳机座J6,具备进行音频输出及录音功能,接入耳机后声音将优先从耳机输出,如下图所示:1.21.2 相机接口MIPI CSI 接口如上图所示,支持OV5648 和OV8858 摄像头模组。接入摄像头模组后,使用系统相机软件打开相机拍照和录像,如下图所示:1.3 以太网接口主板有一路
    Industio_触觉智能 2025-01-20 11:04 178浏览
  • 高速先生成员--黄刚这不马上就要过年了嘛,高速先生就不打算给大家上难度了,整一篇简单但很实用的文章给大伙瞧瞧好了。相信这个标题一出来,尤其对于PCB设计工程师来说,心就立马凉了半截。他们辛辛苦苦进行PCB的过孔设计,高速先生居然说设计多大的过孔他们不关心!另外估计这时候就跳出很多“挑刺”的粉丝了哈,因为翻看很多以往的文章,高速先生都表达了过孔孔径对高速性能的影响是很大的哦!咋滴,今天居然说孔径不关心了?别,别急哈,听高速先生在这篇文章中娓娓道来。首先还是要对各位设计工程师的设计表示肯定,毕竟像我
    一博科技 2025-01-21 16:17 138浏览
  • 临近春节,各方社交及应酬也变得多起来了,甚至一月份就排满了各式约见。有的是关系好的专业朋友的周末“恳谈会”,基本是关于2025年经济预判的话题,以及如何稳定工作等话题;但更多的预约是来自几个客户老板及副总裁们的见面,他们为今年的经济预判与企业发展焦虑而来。在聊天过程中,我发现今年的聊天有个很有意思的“点”,挺多人尤其关心我到底是怎么成长成现在的多领域风格的,还能掌握一些经济趋势的分析能力,到底学过哪些专业、在企业管过哪些具体事情?单单就这个一个月内,我就重复了数次“为什么”,再辅以我上次写的:《
    牛言喵语 2025-01-22 17:10 140浏览
  •  光伏及击穿,都可视之为 复合的逆过程,但是,复合、光伏与击穿,不单是进程的方向相反,偏置状态也不一样,复合的工况,是正偏,光伏是零偏,击穿与漂移则是反偏,光伏的能源是外来的,而击穿消耗的是结区自身和电源的能量,漂移的载流子是 客席载流子,须借外延层才能引入,客席载流子 不受反偏PN结的空乏区阻碍,能漂不能漂,只取决于反偏PN结是否处于外延层的「射程」范围,而穿通的成因,则是因耗尽层的过度扩张,致使跟 端子、外延层或其他空乏区 碰触,当耗尽层融通,耐压 (反向阻断能力) 即告彻底丧失,
    MrCU204 2025-01-17 11:30 204浏览
  • 2024年是很平淡的一年,能保住饭碗就是万幸了,公司业绩不好,跳槽又不敢跳,还有一个原因就是老板对我们这些员工还是很好的,碍于人情也不能在公司困难时去雪上加霜。在工作其间遇到的大问题没有,小问题还是有不少,这里就举一两个来说一下。第一个就是,先看下下面的这个封装,你能猜出它的引脚间距是多少吗?这种排线座比较常规的是0.6mm间距(即排线是0.3mm间距)的,而这个规格也是我们用得最多的,所以我们按惯性思维来看的话,就会认为这个座子就是0.6mm间距的,这样往往就不会去细看规格书了,所以这次的运气
    wuliangu 2025-01-21 00:15 278浏览
  • Ubuntu20.04默认情况下为root账号自动登录,本文介绍如何取消root账号自动登录,改为通过输入账号密码登录,使用触觉智能EVB3568鸿蒙开发板演示,搭载瑞芯微RK3568,四核A55处理器,主频2.0Ghz,1T算力NPU;支持OpenHarmony5.0及Linux、Android等操作系统,接口丰富,开发评估快人一步!添加新账号1、使用adduser命令来添加新用户,用户名以industio为例,系统会提示设置密码以及其他信息,您可以根据需要填写或跳过,命令如下:root@id
    Industio_触觉智能 2025-01-17 14:14 137浏览
  • 故障现象 一辆2007款日产天籁车,搭载VQ23发动机(气缸编号如图1所示,点火顺序为1-2-3-4-5-6),累计行驶里程约为21万km。车主反映,该车起步加速时偶尔抖动,且行驶中加速无力。 图1 VQ23发动机的气缸编号 故障诊断接车后试车,发动机怠速运转平稳,但只要换挡起步,稍微踩下一点加速踏板,就能感觉到车身明显抖动。用故障检测仪检测,发动机控制模块(ECM)无故障代码存储,且无失火数据流。用虹科Pico汽车示波器测量气缸1点火信号(COP点火信号)和曲轴位置传感器信
    虹科Pico汽车示波器 2025-01-23 10:46 40浏览
  •     IPC-2581是基于ODB++标准、结合PCB行业特点而指定的PCB加工文件规范。    IPC-2581旨在替代CAM350格式,成为PCB加工行业的新的工业规范。    有一些免费软件,可以查看(不可修改)IPC-2581数据文件。这些软件典型用途是工艺校核。    1. Vu2581        出品:Downstream     
    电子知识打边炉 2025-01-22 11:12 115浏览
  • 本文介绍瑞芯微开发板/主板Android配置APK默认开启性能模式方法,开启性能模式后,APK的CPU使用优先级会有所提高。触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。源码修改修改源码根目录下文件device/rockchip/rk3562/package_performance.xml并添加以下内容,注意"+"号为添加内容,"com.tencent.mm"为AP
    Industio_触觉智能 2025-01-17 14:09 180浏览
  •  万万没想到!科幻电影中的人形机器人,正在一步步走进我们人类的日常生活中来了。1月17日,乐聚将第100台全尺寸人形机器人交付北汽越野车,再次吹响了人形机器人疯狂进厂打工的号角。无独有尔,银河通用机器人作为一家成立不到两年时间的创业公司,在短短一年多时间内推出革命性的第一代产品Galbot G1,这是一款轮式、双臂、身体可折叠的人形机器人,得到了美团战投、经纬创投、IDG资本等众多投资方的认可。作为一家成立仅仅只有两年多时间的企业,智元机器人也把机器人从梦想带进了现实。2024年8月1
    刘旷 2025-01-21 11:15 604浏览
  • 数字隔离芯片是一种实现电气隔离功能的集成电路,在工业自动化、汽车电子、光伏储能与电力通信等领域的电气系统中发挥着至关重要的作用。其不仅可令高、低压系统之间相互独立,提高低压系统的抗干扰能力,同时还可确保高、低压系统之间的安全交互,使系统稳定工作,并避免操作者遭受来自高压系统的电击伤害。典型数字隔离芯片的简化原理图值得一提的是,数字隔离芯片历经多年发展,其应用范围已十分广泛,凡涉及到在高、低压系统之间进行信号传输的场景中基本都需要应用到此种芯片。那么,电气工程师在进行电路设计时到底该如何评估选择一
    华普微HOPERF 2025-01-20 16:50 109浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦