Apple GPU 内存和 Apple Silicon Graphics 背后的统一架构 Apple GPU 内存建立在统一内存架构之上,允许 CPU、GPU 和神经引擎组件访问相同的高带宽内存池,而无需单独的图形和系统数据池。

Apple GPU 内存的工作原理与传统的独立显卡系统截然不同。 Apple Silicon 没有将系统 RAM 和 GPU VRAM 分开,而是将内存直接集成到片上系统封装中,使 CPU 和 GPU 都可以访问同一统一内存池。

在苹果的开发者网站上,文档明确指出,共享内存模型使 CPU 和 GPU 能够访问相同的系统内存区域,而无需在不同域之间复制缓冲区的开销——这是一个关键的架构区别。苹果硅系统。

在配备独立显卡的传统台式机中,GPU 维护自己的专用 VRAM,并且在渲染或计算任务开始之前,必须将数据从系统 RAM 传输到该 VRAM。借助 Apple 的统一内存架构,数据已经驻留在 CPU 和 GPU 均可访问的共享内存空间中,从而消除了这些传输的需要并减少了延迟。

这种设置在两个处理器经常访问大型数据集(例如高分辨率纹理或计算缓冲区)的工作负载中变得特别有价值。

图片来源:苹果杂志

统一内存如何塑造图形和计算

Apple GPU 内存通过先进的封装在物理上集成到计算核心附近。关于最近M5等芯片,Apple 的统一内存带宽高达 153 GB/s,是前几代产品的两倍多,可实现跨 CPU 和 GPU 任务的高效数据移动。

GPU 和 CPU 不再通过 PCIe 等慢速总线运行来交换数据,而是通过高带宽内部结构进行通信,该结构根据工作负载要求支持动态数据访问。

对于图形工作负载,这种统一方法改变了开发人员对内存使用的看法。应用程序可以使用任何处理器块都可以直接从中提取的共享缓冲区,而不是管理单独的 VRAM 分配。例如,由 CPU 解码的视频帧可以在 GPU 上进行处理,而无需先将其复制到 GPU 专用内存池中。

利用 Apple Metal 图形框架构建的应用程序MTLStorageMode.shared,其中系统内存直接映射用于 CPU 和 GPU 访问,从而简化内存管理并减少开销。

现代工作负载中的共享内存

Apple GPU 内存也有利于机器学习和计算任务,因为神经引擎和 GPU 可以引用相同的底层数据而无需重复。针对 Apple Silicon 优化的框架(例如 MLX)明确利用这种统一内存来最大程度地减少处理器之间的数据移动并更有效地执行 AI 工作负载。

在编辑大型视频、创建 3D 模型或处理高分辨率图像时,拥有单个共享内存池意味着系统可以在最需要的地方动态分配内存,而不受 CPU 和 GPU 内存空间之间固定边界的限制。

动态分配可以提高专业工作流程中的性能和响应能力。当图形工作负载加剧时(例如,渲染 3D 场景),GPU 可以从统一池中提取更多内存,而在 CPU 密集型任务期间,CPU 可以利用内存,而不受单独 VRAM 分区的限制。

这种适应性是 Apple Silicon 性能策略的基础,也是购买时内存配置很重要的一个主要原因:统一内存在制造时是固定的,以后无法扩展。

图片来源:苹果公司

性能和权衡

虽然统一内存简化了内存管理的许多方面,但这也意味着购买前必须仔细选择内存容量。由于 GPU 和 CPU 共享同一池,因此当图形和计算任务都要求较高时,较低的内存配置可能会限制性能。这种权衡与传统系统不同,在传统系统中,理论上,独立 GPU VRAM 可以更大而不影响系统 RAM。

需要大量内存的应用程序(例如编辑多流 8K 视频或渲染复杂的 3D 场景)受益于更高的统一内存配置,因为 GPU 可以消耗更多的共享池,而无需强迫 CPU 竞争资源。

苹果硅的架构实现了这种适应性,同时保持了独立 GPU 系统很少能比拟的功效和每瓦性能。

统一内存是 Apple Silicon 的定义功能之一,也是图形、计算和 AI 任务高性能的关键推动者。通过将内存直接集成到 SoC 中并允许所有处理器无需重复地访问它,Apple 的 GPU 内存架构为现代 Mac 工作流程提供了无缝且高效的基础。