Ⅰ 在 vSphere 平台上的虚拟机中使用 GPU — 概述
本系列的文章
第 1 部分将概述在 vSphere 平台上使用 GPU 的三种方式;
第 2 部分将介绍 GPU 的 DirectPath I/O(直通)机制;
第 3 部分将详细介绍如何为 vSphere 上的 GPU 设置 NVIDIA 虚拟 GPU(vGPU)技术;
适用版本:vSphere 6.x/7.x/8.x
目录
阅读目标
-
了解 VMware vSphere 平台上实现虚拟机使用 GPU 的方式。
-
了解如何满足终端用户对使用 GPU 的需求。
-
了解应该向终端用户以及硬件和软件供应商询问哪些信息以适用于 vSphere 环境。
-
了解对 GPU 不同的实现方式选择适用于不同的使用场景。
1. 为什么需要使用 GPU
终端用户需要 GPU 功能的原因很简单,就是为了更快地获得结果。机器学习模型涉及非常大的矩阵乘法运算,而 GPU 的设计目的就是比 CPU 更快地计算这些运算。
使用 GPU 的主要原因如下:
- 高并行计算能力
GPU 拥有大量内核,能同时处理大量数据并行运算,特别适用于图形渲染、视频处理、科学计算和深度学习等任务。 - 加速计算任务
相比于 CPU,GPU 在执行大规模矩阵运算和浮点计算时具有更高的吞吐量,因此能够显著提高计算密集型应用的性能和响应速度。 - 改善用户体验
在图形处理和游戏领域,GPU 能够实现更流畅的图像渲染和更高质量的视觉效果,从而提升用户体验。 - 虚拟化环境的资源优化
在虚拟机环境中,利用 GPU 加速可以为虚拟机提供更强的图形处理能力和计算性能,同时实现多个虚拟机共享同一块物理 GPU 的资源,提高整体资源利用率。
因此,GPU 被广泛应用于需要大量并行处理、高性能计算和优质图形显示的场景。
使用 GPU 的行业包括 AI(机器学习、深度学习、大数据处理),影视动画行业(动画制作,影视特效制作),医疗行业(医学影像处理,手术模拟与培训),金融行业(风险评估与预测,金融衍生品交易模拟),教育行业(虚拟实验室,远程教学)
2. GPU 能否在 vSphere 中用于 VDI 以外的应用程序?
可以!在 vSphere 环境中,我们将这种用例称为 GPU Compute(GPU 计算) 。简单来说,VMware vSphere 允许终端用户在虚拟机中使用 GPU,就像他们在任何支持 GPU 的公有云实例或裸机上使用 GPU 一样。此外,通过与我们的技术合作伙伴合作,vSphere 支持多种灵活的使用方式和 GPU 利用模型,这些模型可以提高这种基础设施的投资回报率(即提高效率),同时为终端用户提供他们确切需要的功能。
3. vGPU 性能如何?
一般来说,vSphere 虚拟机中的 GPU 可以提供接近裸机的性能,不过确切的性能取决于所使用的技术。在本系列的后续部分,我们将详细介绍每种技术的性能特点。如果想初步了解一些性能数据,可以查看 VMware 性能工程团队的博文:Machine Learning on VMware vSphere 6 with NVIDIA GPUs。
4. 虚拟机使用 GPU 的不同方式
作为 vSphere 环境管理员,使用 GPU 的关键决策点是确定在环境中如何使用 GPU。
通过虚拟机使用 GPU 有不同的方式。具体取决于使用 GPU 运行应用程序的用户类型和应用程序类型。请参考下表:
CPU 配置 | GPU对应一个VM使用 | 一个VM使用多个GPU | 多个虚拟机共享一个 GPU,包括部分使用 GPU |
---|---|---|---|
使用场景 | 1.数据科学 2.最常用于机器学习模型的开发和训练 3.高性能计算 | 1. 处理大型问题的机器学习高级专业用户 2. 高性能计算,如基因组测序、蒙特卡洛模拟 3. 支持GPU的数据库 | 1. 开发和测试 2. 数据科学研究较小的问题 3. 机器学习的推理阶段 |
表 1:GPU 配置及其各自的用例 , 前两个是硬件直通模式,最后一个是 vGPU 模式。
适用于这三种不同情况的技术类型如下图所示:
图1: vSphere 上不同 GPU 用例的决策树
某些用例是由 VMware 合作伙伴的产品实现的,例如 NVIDIA 虚拟 GPU,也称为 “NVIDIA vGPU” 技术。该系列产品曾用名 NVIDIA Grid 。NVIDIA vGPU 系列是一系列软件产品,包括 NVIDIA 虚拟计算服务器(vCS)软件产品以及其他产品,如 vDWS。
每种技术都有其优缺点,在利用 vSphere 固有技术实现其产品与 vSphere 平台之间的协同效应时,它们提供了不同程度的灵活性和终端用户体验。VMware 致力于继续与硬件加速生态系统中的 OEM 厂商、硬件和软件供应商合作。我们的目标是让客户从他们的现代基础设施中获取最大价值,同时简化其管理和使用流程。
在本系列的后续部分,我们将详细介绍在 vSphere 虚拟机中启用一个完整专用 GPU 所需的步骤和可用技术,以及如何在多个虚拟机之间共享 GPU。