快捷导航
科技信息

谷歌正式发布WebGPU,大欣赏器期间来了

整理 | 褚杏娟、核子可乐颠末六年的开辟,当地时间4月6日,谷歌 Chrome 团队正式发布 WebGPU,用于在网络上举行高性能 3D 图形与数据并行盘算。WebGPU 暇?孚 Beta 测试阶段的 Chrome 113 中默认启用。WebGPU 是一种

整理 | 褚杏娟、核子可乐

颠末六年的开辟,当地时间4月6日,谷歌 Chrome 团队正式发布 WebGPU,用于在网络上举行高性能 3D 图形与数据并行盘算。WebGPU 暇?孚 Beta 测试阶段的 Chrome 113 中默认启用。

WebGPU 是一种新型 Web 图形 API,具有显着淘汰划一图形规模下 JavaScript 工作量、将呆板学习模子的推理服从提拔 3 倍以上等上风。之以是能实现如许的飞跃,要归功于其令 WebGL 无法实现的机动 GPU 编程和高级功能访问本领。

据悉,WebGPU 的首个版本已经在 ChromeOS、macOS 和 Windows 上开放,对其他平台的支持将于本年晚些时间推出。

01 “Web 图形的新曙光”

WebGPU 是一种新型 Web API,可以大概公开当代硬件功能并允许在 GPU 上实验渲染与盘算利用,功能定位雷同于 Direct3D 12、Metal 和 Vulkan。与 WebGL 系列 API 差异,WebGPU 可以大概访问更高级的 GPU 功能,并为 GPU 上的通例盘算提供一流支持。该 API 在计划上充实顺应 Web 平台,提供符合风俗的 JavaScript API、promises 集成、支持导入视频和完备错误提示信息的完满开辟者体验。

WebGPU 的首个版本将成为未来更新和功能加强的底子构建块。该 API 后续还将提供更高级的图形功能,并鼓励开辟者提出对其他功能的申请。Chrome 团队正操持提供对着色器核心的深入访问,以便在 WGSL(WebGPU 着色语言)中举行更多的呆板学习优化和额外的人体工程学调解。

根据先容,WebGPU 是 W3C“Web GPU”社区小组协同积极的结果,此中包罗来自 Mozilla、苹果、英特尔和微软等紧张公司的贡献。从 2017 年初始计划以来,颠末六年的开辟(涉及 90 位贡献者、2000 次提交、3000 个题目),WebGPU 的首个实现终于正式登岸 Chrome,同时可支持 Firefox 和 Safari。

Chromium 和 Dawn 库和 Firefox 的 wgpu 库均可作为独立包利用,提供精彩的可移植性与人体工程学层,将利用体系 GPU API 抽象出来。在本机应用步伐中利用这些库时,开辟者还可轻松通过 Emscripten 和 Rust web-sys 移植向 WASM。

WebGPU 的首个版本可在支持 Vulkan 的 ChromeOS 装备、支持 Direct3D 12 的 Windows 装备和 macOS 的 Chrome 113 中利用。Linux、Android 及其他现有平台的扩展支持也将在年内推出。除 Chrome 之外,WebGPU 现在还开端登岸了 Firefox 和 Safari 欣赏器。

很多被广泛利用的 WebGL 库正在或已经可以大概支持 WebGPU,因此用户只需做单行变动即可利用 WebGPU:

02 高兴与担心同在

据悉,WebGPU 的诞生现实上就是大厂角力的结果。2016 年,Google 发现 WebGL 存在一些题目,于是就提出了一个新的提案叫 WebGL Next,称要再做一个正确的图形 API。然后,其他的厂商也纷纷跟进,Mozilla、Apple、Opera 都提出了本身的概念。

这个时间,Apple 起名部的工作职员向 W3C 提交了一个叫做 WebGPU 的提案,W3C 决定采取这个名字作为未来新标准的定名,而且创建工作组来做 WebGPU 的工作。

由于这个名字是 Apple 起的,以是末了只有 Apple 的提案进入了他们“gpuweb-proposals”的代码堆栈,不外为了克制重名造成的误解和辩说,Apple 最初谁人提案的名字被改为了 WebMetal。

看到 W3C 采取了 Apple 的提案,Mozilla 不甘心,转而又向 Khornos Group 提交了一个基于 Vulkan 的定名为 WebGL Next 的提案,但这已经是 WebGL 的末了一搏了。这末了,欣赏器厂商用脚投票,站到了 WebGPU 这边。

现在,颠末多年期待,谷歌团队正式发布 WebGPU 让很多开辟者感到激动。

“这非常令人高兴!”

“这是一个巨大的里程碑,也是更大旅程的一部门。在我开辟高级 2D 渲染器 Vello 的工作中,我开始信任 WebGPU 是游戏规则的改变者。我们将拥有可在任何地方运行的、相当当代的底子架构:Web、Windows、Mac、Linux、ChromeOS、iOS 和 Android。”开辟者 raphlinus 表现。

当有人问起,“假设您是 ML 从业者。您是否仍会保举学习 WebGPU,而不是说花更多时间在 CUDA 上?”时, raphlinus 给出发起,“这完全取决于您的目的。如果您正在研究现实的呆板学习算法,那么利用像 TensorFlow 或 Torch 如许的框架,它们提供了全部张量利用并抽象出硬件。如果您本日想在硬件上得到最大性能,请对峙利用 Nvidia 并选择 CUDA。如果您对跨一系列硬件摆设感爱好,大概想要亲主动手实现算法(比方 wonnx),那么 WebGPU 是您的不二之选。”

开辟者“FL33TW00D”表现,“这非常令人高兴!(我曾猜疑它会滑到 114)WebGPU 实现仍旧很不成熟,但肯定足以开始利用。”FL33TW00D 讲道,“在已往的几个月里,不绝在实现 Rust + WebGPU ML 运行时,而且很喜欢编写 WGSL。迩来,我得到了一个 250M 参数的 LLM 在欣赏器中运行,没有太多优化,它表现得很好!也就是说,matmuls 在欣赏器中仍旧有很大的缺陷(特别是思量到欣赏器中逼迫实验的界限查抄)。在我的基准测试中,我不绝在积极到达理论 FLOPS 的 50%,当界限查抄开始时,它会淘汰到 30%。我期待访问帖子中提到的着色器核心。”

另有 Burn(Rust 深度学习框架)项目的贡献者也表现将添加 WebGPU 后端。

WebGPU,晚了吗?

固然,也有一些开辟者对 WebGPU 现在才发布是不是还“赶趟”表现猜疑。前 Unity 游戏引擎工程师 Aras Pranckeviius 提出疑问,“WebGL 已颠末时了。我想知道 WebGPU 是不是也有点晚了(好比现在 Vulkan 以为 PSOs 大概不是一个好主意,哈哈)。”

他增补道,就像 8 年前一样,WebGPU 是一种“当代图形 API 计划”。迟做总比不做好,但是……“当代”的概念现在好像在朝着如许的方向发展:无绑定的统统(就像“无绑定”的寄义的第三次迭代)、网格着色器、光线跟踪、机动的管道状态。然而,全部这些都不在 WebGPU 中。

对此,谷歌图形管道工程师 Corentin Wallez 回应道,原生 API 确实向前发展了,而 PSO 确实推动了游戏开辟者们其时以为他们可以维持的特定方向(预编译全部内容,结果并非云云)。他表现,WebGPU 必须支持现在利用的全部硬件,包罗不支持无绑定或网格着色器的装备。“但渴望在第一个版本之后,它会继续改进,并赶上一些紧张的新功能。”

别的,开辟者“flohofwoe”表现附和 Aras 的观点,但他以为,“房间里的大象”仍旧是糟糕的移动 GPU。这些新颖技能中的大多数都不实用于移动 GPU,而且在可预见的未来大概仍旧不会。(Vulkan 现实上应该有两个 API:一个用于桌面 GPU,一个用于移动 GPU——这些新扩展正在将 Vulkan 分成两个或多或少分别独立的 API,一个对于移动 GPU 来说很糟糕,另一个相当不错,但只实用于桌面 GPU。)

“WebGPU 无法蒙受如许的分裂。它必须在同一代码库的桌面和移动装备上同样精彩地工作(移动装备现实上比桌面装备紧张得多)。”flohofwoe 表现。

03 WebGPU vs WebGL

那么,作为 WebGL 的继续者,有开辟者提出 WebGPU 与 WebGL 的差异毕竟怎样?贝壳找房资深工程师郝稼力曾在 GMTC 举世大前端技能大会上分享了他对两者做的性能对比,我们可以看下。

这是复杂场景的渲染性能对比。这个场景中有 1000 棵树,它们不是利用实例化绘制的,而是每一棵树都有一个 draw call,以是一个场景我要有 1000 多个 draw call。如果利用 WebGL 举行绘制的话,可以看到,利用 2070 显卡只能跑到 21FPS,而且每一帧的 CPU 时间须要 44 毫秒,但是同样用 WebGPU 来处理处罚,可以跑到 123 帧,每一帧的 CPU 时间只有 0.1 毫秒,这个是 WebGPU 和 WebGL 最大最显着的性能上的差距。

别的就是一个代码上的差距。用 WebGL 原生 API 绘制的过程,全部的东西的出发点都在于 Canvas;然而这是一件很不可思议的变乱,就是纵然不须要画什么东西,用户也须要创建一个 Canvas 元素,这个操尴尬刁难于前端大概是无感知的,但是对于欣赏器开辟者来说就要新建一个 DOM 元素,要给它增长全部它须要有的东西,一旦 DOM 元素瓦解了,欣赏器要处理处罚全部这些变乱,对于开辟者而言背面的变乱就会变得非常复杂。

但是 WebGPU 不是如许,WebGPU 的入口是 navigator.gpu,用户可以从这里获取到一个显卡,再从显卡获取到一个装备,而中心的 Canvas 是没有的。

参考链接:

https://developer.chrome.com/blog/webgpu-release/

https://news.ycombinator.com/item?id=35465729

收藏 邀请
上一篇:火拼“性价比”,阿里、京东、拼多多内卷几时休?下一篇:余额宝界面体现乱码?付出宝回应:已根本规复 网友:不慌,余额还在
我有任务需求要发布
专业服务商主动承接
快速解决你的需求

专注IT众包服务

平台只专注IT众包,服务数 十万用户,快速解决需求

资金安全

交易资金托管平台,保障资 金安全,确认完成再付款

实力商家

优秀软件人才汇集,实力服务商入驻,高效解决需求

全程监管

交易过程中产生纠纷,官方100%介入受理,交易无忧

  • 微信访问
  • 手机APP