在OpenCV中的图形卡Nvidia或ATI之间切换

在OpenCV中的图形卡Nvidia或ATI之间切换,opencv,opencl,Opencv,Opencl,我将在有大量ATI和NVidia Tesla的服务器上运行我的项目。如何优化图形卡的使用?启动实例应用程序时,我可以选择特定的视频卡吗?取决于您对“特定”的定义: 如果您只想在NVIDIA和AMD之间进行选择,您可以使用CL_平台供应商和clGetPlatformInfo并查找“AMD”或“NVIDIA” 如果要返回到以前使用过的特定GPU,可以将CL\u设备\u供应商\u ID与clGetDeviceInfo一起使用,并比较保存的值 有时,在双GPU安装中这些是相同的。使用供应商扩展来获得更具

我将在有大量ATI和NVidia Tesla的服务器上运行我的项目。如何优化图形卡的使用?启动实例应用程序时,我可以选择特定的视频卡吗?

取决于您对“特定”的定义:

  • 如果您只想在NVIDIA和AMD之间进行选择,您可以使用
    CL_平台供应商
    clGetPlatformInfo
    并查找“AMD”或“NVIDIA”
  • 如果要返回到以前使用过的特定GPU,可以将
    CL\u设备\u供应商\u ID
    clGetDeviceInfo
    一起使用,并比较保存的值
  • 有时,在双GPU安装中这些是相同的。使用供应商扩展来获得更具体的信息(请参阅)

  • 如果我只使用OpenCL,这是一个好方法。但是我使用OpenCV函数,它们在CUDA和OpenCL上都实现了。我可以在CUDA和OpenCL之间切换,但我确实希望在一个供应商的GPU之间切换,或者使用特定的GPU(通过id或名称)运行我的应用程序实例。在我提交答案后,我意识到你的问题是关于OpenCV的,但我的答案只是OpenCL。很抱歉