# ViDi 服务器的 GPU 模式

客户端/服务器功能允许最多八台客户端计算机使用单个服务器进行训练和处理。由此客户端可以共享使用服务器安装的一个或多个 GPU。

在利用多 GPU 方面，ViDi Suite 服务器提供与本地运行的 ViDi Suite GUI 完全相同的功能和配置选项。

- 要使用多个 GPU，它们必须属于同一类型且具有相同的内存。
- 服务器最多可以使用四个 GPU。
- 各个客户端可以在处理流时请求特定的 GPU 设备。
- 可以将单个 ViDi 服务器配置为提供训练服务（支持运行 ViDi Suite GUI 的客户端）、运行时服务（支持客户端使用运行时界面通过流处理映像），或者提供训练和运行时服务。无论请求（训练或运行时服务）来源是什么，请求都置于单 FIFO 队列中，并使用第一个可用的 GPU 设备按顺序处理。

启动 ViDi Suite Service 后在服务器上设置 GPU 模式，并可以使用命令行变量指定 GPU 模式。

SingleDevicePerTool GPU 模式

默认情况下，该服务配置为使用 SingleDevicePerTool GPU 模式。在此模式下，每次处理工具时，GPU 都会在工具处理期间被锁定。处理工具后将释放 GPU。

处理多工具流时，将按顺序处理每个工具。如果流中的下一个工具准备好运行时没有可用的 GPU，则流的处理将停止，直到 GPU 可用。如果队列中已有其他处理请求，则该工具将添加到队列的末尾。

当使用相同的上游工具作为输入使用两个工具配置流时，工具按顺序运行，而不是并行运行，并且流处理将阻止其他工具，直到两个工具都已处理完毕。

MultipleDevicesPerTool GPU 模式

如果服务器配置为 MultipleDevicesPerTool GPU 模式，则所有 GPU 始终被视为单个 GPU。这意味着整个服务器一次只能处理一个工具。

在红色分析工具具体案例中，使用 MultipleDevicesPerTool 模式可以加速工具，尤其是具有高图像 - 特征尺寸比的工具。但是，这种潜在加速会牺牲所有客户端的延迟。