究竟是什么阻止我们在 GPU 上运行操作系统?

究竟是什么阻止我们在 GPU 上运行操作系统?

现代 GPU 似乎非常灵活。它们可以使用 CUDA 或 OPENCL 自由编程,拥有大量内核,每秒原始指令数完全超过任何 CPU。
它们似乎拥有完整的指令集和大量 RAM。
那么为什么我们不能在其中一个上运行操作系统呢?GPU 缺少 CPU 拥有的什么?

答案1

操作系统位于其上运行的所有进程的中间是所有 I/O 设备和这些进程之间的通信。进程必须“通过”操作系统才能进行任何 I/O。

因此,除非您正在执行不依赖 I/O 的操作,例如数学运算(这正是 GPU 核心的设计目的),否则您无论如何都要等待内核进行协调。如果 1000 多个 GPU 核心能够随心所欲地处理以太网适配器或 NVME 存储,那将是一场灾难。

相关内容