【问题标题】:Force display from APU and have discrete GPU for OpenCL?从 APU 强制显示并为 OpenCL 配备独立 GPU?
【发布时间】:2019-03-15 19:28:31
【问题描述】:

我需要一个具有以下限制的 OpenCL 编程系统:

  1. 独立 GPU 不得作为显卡运行 --> 我可以这样做 从 BIOS
  2. AMD 的 APU 的内部 GPU 必须用作显示 GPU --> 我可以这样做 从 BIOS
  3. OpenCL 不能识别内部 APU 的 GPU,并且必须始终 默认为独立 GPU

我为什么需要这个?

  1. 这是因为我正在处理需要 GPU BIOS 的 GPU 代码 要刷新并安装自定义 BIOS,这使得 GPU 无法用于展示。
  2. AMD 主板在没有 VGA 卡的情况下无法启动,所以我得到了一个 APU 有内部 GPU。
  3. 我正在处理的代码库无法处理冲突的 GPU,所以我 需要从 OpenCL 中禁用该(APU 的 GPU)。

我该如何处理?

【问题讨论】:

  • 系统配置问题在这里是题外话,SuperUser 可能是一个更好的位置。当您将问题移到此处时,您可能还想提及您的操作系统。
  • 您使用的是什么操作系统和 OpenCL 驱动程序?有些允许使用环境变量来配置行为。

标签: gpu opencl gpgpu amd-processor


【解决方案1】:

根据AMD OpenCL Programming Guide,AMD的驱动支持GPU_DEVICE_ORDINAL环境变量来配置使用哪些设备(2.3.3节):

在某些情况下,用户可能想要掩盖 GPU 的可见性 OpenCL 应用程序。一个例子是将一个 GPU 专用于常规图形操作,另外三个(在四 GPU 系统中)用于计算。到 这样做,设置 GPU_DEVICE_ORDINAL 环境参数,这是一个逗号分隔 列表变量:

  • 在 Windows 下:设置 GPU_DEVICE_ORDINAL=1,2,3
  • 在 Linux 下:导出 GPU_DEVICE_ORDINAL=1,2,3

您首先需要确定要包含的设备的序号。为此,我建议使用clinfo-l 开关,这将为您提供可用OpenCL 平台和设备的基本树。如果设备首先与 APU 一起列出,然后是专用 GPU,您可能只想启用设备 1(GPU),并将环境变量设置为 GPU_DEVICE_ORDINAL=1

【讨论】:

  • 我会试试的。看来这会让生活更轻松。
猜你喜欢
  • 1970-01-01
  • 2016-08-06
  • 2019-06-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-15
  • 1970-01-01
相关资源
最近更新 更多