多 GPU 优化

VisionPro Deep Learning2.0 支持使用多个 GPU 进行训练和处理。本主题解释了 2 种基本操作模式和多个 GPU 的使用情况。

操作模式

VisionPro Deep Learning 使用一个或多个 GPU 时,可能的 GPU 操作模式如下:

  • SingleDevicePerTool(默认设置)– 使用单个 GPU 训练和处理图像。
  • NoGPUSupport – 说明不会使用 GPU。
提示:VisionPro Deep Learning 1.0.0 起,已不再支持用于在多个设备上处理图像的 MultipleDevicesPerTool

 

这些 GPU 模式可以在库初始化时通过 C 和 .NET API 指定,也可以通过在启动时可与 VisionPro Deep Learning GUI 一起用于库初始化的命令行参数指定。

使用多个 GPU 进行训练

当使用多个 GPU 进行训练时,无论使用聚焦模式(红色分析聚焦监督/无监督、蓝色定位、蓝色读取、绿色分类聚焦)还是高细节模式(红色分析高细节模式、绿色分类高细节模式),都是仅在单个 GPU 上训练单个工具。

如果有

  • N 个 GPU,可以同时运行 N 个训练作业。

  • N 个 GPU,可以同时训练 N 个工具。

这意味着如果您有 N 个 GPU 和 N 个训练作业(N 个要训练的工具),1 个训练作业仅由 1 个 GPU 执行。换句话说,1 个 GPU 一次训练 1 个工具(要训练的工具的所有图像)。

另一个或另一个工作区中的训练作业可以被系统中注册的多个 GPU 访问,因此也可以使用多个 GPU 同时执行这些作业。

使用多个 GPU 进行处理

当使用多个 GPU 进行处理时,情况有所不同。

  • 聚焦模式(红色分析聚焦监督/无监督、蓝色定位、蓝色读取、绿色分类聚焦)

    • 在系统中注册的所有可用 GPU 上同时处理一个工具。

  • 高细节模式(红色分析高细节模式、绿色分类高细节模式)

    • 仅在单个 GPU 上处理单个工具。

 

这说明了几个重要问题:

  • 对于聚焦模式的处理,如果有

    • N 个 GPU 并运行 1 个处理作业(处理 1 个聚焦模式工具),可以在这 N 个 GPU 上以分布式的方式运行此作业。

    • N 个 GPU 并运行 N 个处理作业(处理 N 个聚焦模式工具),可以在这 N 个 GPU 上以并行方式运行这 N 个作业。

  • 高细节模式的处理和训练基本相同。如果有

    • N 个 GPU,可以同时运行 N 个处理作业。

    • N 个 GPU,可以同时处理 N 个工具。

 

对于聚焦模式工具的处理,这意味着此工具的所有图像可以分布在 N 个 GPU 上(1 个图像在 1 个 GPU 上,一次一个)。如果有 N 个聚焦模式工具和 N 个 GPU,工作方式仍然相同,因此 N 个 GPU 的使用方式为每个 GPU 一次处理一个图像,而不是一次处理一个工具。

 

对于高细节模式工具的处理,这意味着此工具的图像不能分布在 N 个 GPU 上,并且此工具的所有图像只能由 1 个 GPU 处理(1 个工具在 1 个 GPU 上,一次一个)。但是,如果有 N 个高细节模式工具和 N 个 GPU,则可以同时使用 N 个 GPU,即每个 GPU 一次处理一个工具(一个工具的所有图像),而不是一次处理一个图像。

同样,对于聚焦和高细节模式,另一个或另一个工作区中的处理作业可以被系统中注册的多个 GPU 访问,因此也可以使用多个 GPU 同时执行这些作业。