主要内容

本页采用了机器翻译。点击此处可查看英文原文。

在容器中使用 GPU

要充分利用图形处理单元(GPU)带来的性能优势,您可以在容器中使用主机系统的 GPU。默认情况下,容器无法访问其宿主机的硬件资源。要使容器能够访问主机系统的 NVIDIA® GPU,您需要:

  • 在安装了适当的 NVIDIA GPU 驱动程序的主机系统上运行容器,例如使用 NVIDIA GPU 优化 AMI

  • 在执行 docker run 命令时使用 --gpus 标志,使主机的 GPU 对容器可见。若需使容器访问主机上的所有 GPU,请将此标志设置为 all。例如,运行一个 MATLAB® 容器,并通过执行如下命令为其提供对主机 GPU 的访问权限:

    docker run --gpus all mathworks/matlab

检查容器对 GPU 的访问权限

要检查容器是否能够访问宿主机的 GPU,请在容器中打开 MATLAB 并执行以下命令:

gpuDeviceTable
ans=2×5 table
    Index        Name         ComputeCapability    DeviceAvailable    DeviceSelected
    _____    _____________    _________________    _______________    ______________

      1      "TITAN RTX"            "7.5"               true              true      
      2      "Quadro K620"          "5.0"               true              false     

此命令返回系统中检测到的所有 GPU 设备属性表。或者,若您使用的是早于 R2021a 的 MATLAB 版本,请改用 gpuDevicegpuDeviceCount 函数。有关此命令的更多信息以及如何选择特定 GPU,请参阅识别并选择 GPU 设备 (Parallel Computing Toolbox)

使用 GPU 加速 MATLAB 代码

在为容器授予 GPU 访问权限后,您可利用其计算能力加速 MATLAB 代码的运行,例如并行训练神经网络。要开始使用,请参阅 在 GPU 上运行 MATLAB 函数 (Parallel Computing Toolbox)。要了解如何使用多个 GPU 并行训练单个神经网络,请参阅Deep Learning with MATLAB on Multiple GPUs (Deep Learning Toolbox)

另请参阅

(Parallel Computing Toolbox)

主题