我将resnet50 TensorFlow模型转换为TensorRT引擎。当我运行推断时,它只使用我的一个GPU。我有两个RTX3090图形处理器。如何在多个GPU上运行推理?
发布于 2022-03-25 14:54:04
每个ICudaEngine对象在实例化时被绑定到特定的GPU,无论是由构建器还是反序列化。要选择GPU,在调用生成器或反序列化引擎之前使用cudaSetDevice()。每个IExecutionContext都绑定到与其创建引擎相同的GPU上。在调用execute()或enqueue()时,如果需要,通过调用cudaSetDevice()来确保线程与正确的设备相关联。
因此,不能使用多个GPU加速相同的引擎。但是,您可以通过实例化多个ICudaEngine和IExecutionContext对象并将每一对绑定到单独的GPU来实现一种令人尴尬的并行方法。
https://stackoverflow.com/questions/70924179
复制相似问题