【问题标题】:How can I install opencl on Ubuntu for AMD Ryzen Mobile CPU如何在 Ubuntu 上为 AMD Ryzen 移动 CPU 安装 opencl
【发布时间】:2019-08-16 01:37:15
【问题描述】:

我有一台配备 AMD Ryzen 5 2500u(集成 radeon vega 8 移动 GPU)处理器并使用 Ubuntu 18.04.2 的笔记本电脑。我想在 CPU 和 GPU 上使用 C++ 运行一些 OpenCL 计算。我的问题是我不确定opencl如何识别cpu。

我已经从 amd 网站和 AMD APP SDK 3.0 安装了 amdgpu-pro。运行 clinfo 后,我得到以下输出:

平台数量 2

平台名称 Clover

平台供应商台面

平台版本 OpenCL 1.1 Mesa 18.2.8

平台配置文件 FULL_PROFILE

平台扩展 cl_khr_icd

平台扩展功能后缀MESA

平台名称 AMD 加速

并行处理 平台供应商 Advanced Micro Devices, Inc.

平台版本 OpenCL 2.1 AMD-APP (2671.3)

平台配置文件 FULL_PROFILE

平台扩展 cl_khr_icd cl_amd_event_callback cl_amd_offline_devices

平台主机定时器分辨率 1ns

Platform Extensions 函数后缀 AMD

平台名称 Clover

设备数量 1

设备名称 AMD RAVEN(DRM 3.26.0、4.18.0-16-generic、LLVM 7.0.0)

设备供应商 AMD

设备供应商 ID 0x1002

设备版本 OpenCL 1.1 Mesa 18.2.8

驱动程序版本 18.2.8

设备 OpenCL C 版本 OpenCL C 1.1

设备类型 GPU

设备配置文件 FULL_PROFILE

设备可用是

编译器可用是的

最大计算单元 8

最大时钟频率 1100MHz

最大工作项尺寸 3

最大工作项大小为 256x256x256

最大工作组大小 256

首选工作组大小为 64 倍

首选/原生矢量大小
字符 16 / 16
短 8 / 8
整数 4 / 4
长 2 / 2
半 8 / 8 (cl_khr_fp16) 浮动 4 / 4
双 2 / 2 (cl_khr_fp64)

半精度浮点支持 (cl_khr_fp16)

...

平台名称 AMD 加速并行处理

设备数量 1

设备名称 gfx902

设备供应商 Advanced Micro Devices, Inc.

设备供应商 ID 0x1002

设备版本 OpenCL 1.2 AMD-APP (2671.3)

驱动程序版本 2671.3(PAL、HSAIL)

设备 OpenCL C 版本 OpenCL C 1.2

设备类型 GPU

设备板名称 (AMD) 未知 AMD GPU

设备拓扑 (AMD) PCI-E,05:00.0

设备配置文件 FULL_PROFILE

.......

NULL 平台行为

clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...) 无平台

clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...) 无平台

clCreateContext(NULL, ...) [默认] 无平台

clCreateContext(NULL, ...) [其他] 成功 [MESA]

clCreateContextFromType(NULL, CL_DEVICE_TYPE_DEFAULT) 成功(1)

Platform Name                                 Clover

Device Name                                   AMD RAVEN (DRM 3.26.0, 4.18.0-16-generic, LLVM 7.0.0)

clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU) 在平台上找不到设备

clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU) 成功(1)

Platform Name                                 Clover

Device Name                                   AMD RAVEN (DRM 3.26.0, 4.18.0-16-generic, LLVM 7.0.0)

clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR) 在平台中找不到设备

clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM) 在平台中找不到设备

clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL) 成功(1)

Platform Name                                 Clover

Device Name                                   AMD RAVEN (DRM 3.26.0, 4.18.0-16-generic, LLVM 7.0.0)

带有设备“AMD RAVEN (DRM 3.26.0, 4.18.0-16-generic, LLVM 7.0.0)”的第一个平台“Clover”的设备类型为“GPU”,第二个平台的设备类型为“gfx902”似乎也是我系统的 GPU。

所以我的问题是:我必须安装什么才能让 opencl 也识别我系统的 cpu?

感谢您的帮助!

【问题讨论】:

  • 迟来的评论:平台名称Clover 表示您使用 OpenCL 的 Mesa 实现。你不需要这个......你也不需要AMD APP SDK。你应该删除它们。 amdgpu-pro 在 Ubuntu 18.04 上应该足够了

标签: ubuntu opencl linux-device-driver amd ubuntu-18.04


【解决方案1】:

将 CPU 与 OpenCL 一起使用自然需要支持 CPU 的 OpenCL 实现。特别是POCL 应该可用。 AMD 似乎已经放弃了他们的 CPU OpenCL 实施,而英特尔声称他们的实施仅适用于他们品牌的处理器。

顺便说一句,如果尝试将工作自动分配到所有设备,则为同一设备(例如 Clover 和 APP)混合使用 OpenCL 实现可能会产生令人惊讶的结果。如果您可以指定要使用的设备应该没问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-12
    • 2012-05-09
    • 1970-01-01
    • 2020-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多