我一直在尝试安装 ROCm,但是运行命令时rocminfo
得到以下结果:
libkmod: ERROR ../libkmod/libkmod-module.c:1657 kmod_module_new_from_loaded: could not open /proc/modules: No such file or directory
Error: could not get list of modules: No such file or directory
ROCk module is NOT loaded, possibly no GPU devices
clinfo
安装后运行命令时,我得到以下结果,其中有 0 个设备:
Number of platforms 1
Platform Name AMD Accelerated Parallel Processing
Platform Vendor Advanced Micro Devices, Inc.
Platform Version OpenCL 2.2 AMD-APP (3361.0)
Platform Profile FULL_PROFILE
Platform Extensions cl_khr_icd cl_amd_event_callback
Platform Host timer resolution 100ns
Platform Extensions function suffix AMD
Platform Name AMD Accelerated Parallel Processing
Number of devices 0
NULL platform behavior
clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...) AMD Accelerated Parallel Processing
clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...) AMD Accelerated Parallel Processing
clCreateContext(NULL, ...) [default] No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_DEFAULT) No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU) No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU) No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR) No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM) No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL) No devices found in platform
ICD loader properties
ICD loader Name OpenCL ICD Loader
ICD loader Vendor OCL Icd free software
ICD loader Version 2.2.11
ICD loader Profile OpenCL 2.1
NOTE: your OpenCL library only supports OpenCL 2.1,
but some installed platforms support OpenCL 2.2.
Programs using 2.2 features may crash
or behave unexepectedly
我在装有 Ubuntu 18.04 LTS 的 Windows 设备上工作。内核版本为 5.5.0。我有 AMD Radeon Vega 8 显卡。ROCm 的安装如下:我下载了内核 5.5
wget kernel.ubuntu.com/~kernel-ppa/mainline/v5.0/linux-headers-5.0.0-050000_5.0.0-050000.201903032031_all.deb
wget kernel.ubuntu.com/~kernel-ppa/mainline/v5.0/linux-headers-5.0.0-050000-generic_5.0.0-050000.201903032031_amd64.deb
wget kernel.ubuntu.com/~kernel-ppa/mainline/v5.0/linux-image-unsigned-5.0.0-050000-generic_5.0.0-050000.201903032031_amd64.deb
wget kernel.ubuntu.com/~kernel-ppa/mainline/v5.0/linux-modules-5.0.0-050000-generic_5.0.0-050000.201903032031_amd64.deb
sudo dpkg -i linux-headers-5.0.0*.deb linux-image-unsigned-5.0.0*.deb linux-modules-5.0.0*.deb
我重新启动了系统,然后下载并安装了 amdgpu-install:
$ sudo apt-get update
$ wget https://repo.radeon.com/amdgpu-install/21.40/ubuntu/bionic/amdgpu-install-21.40.40500-1_all.deb
$ sudo apt-get install ./amdgpu-install-21.40.40500-1_all.deb
$ sudo apt-get update
$ sudo amdgpu-install --usecase=opencl,rocm --no-dkms
再次重启。并将自己添加到视频组:
sudo usermod -a -G video $LOGNAME
clinfo
直到运行时我才收到任何错误消息rocminfo
。有人能告诉我我做错了什么吗?PD:我正尝试让 ROCm OpenCl 将我的 GPU 与 GROMACS 一起使用
答案1
更新:我不认为 ROCm 在 WSL2 下是必要的(或将起作用)。请参阅这个 U&L 答案了解详情。如果您尝试在 AMD GPU 上使用 WSL2 下的 GPU Compute,则以下信息不太可能有用。
虽然我没有任何 AMD GPU 系统可以尝试这一点(也不确定 ROCm 是否适用于 WSL2),但我发现您的配置存在一些问题。
首先,你只说“Windows 设备”,但没有说是哪个 Windows 版本,非常此处的先决条件非常重要。要获得 WSL2 中的 GPU 计算支持,您需要 Windows 10 或 Windows 10 的最新版本(21H2,最近几天刚刚发布)。请参阅这个微软开发博客那里有更多信息。重点似乎在 CUDA 上,但 AMD 也与微软在这方面密切合作。
其次,使用 检查你的实际内核版本uname -a
。我不记得 5.5 曾经是 WSL2 内核版本。根据Microsoft 文档,在 WSL2 内核的 4.19.121 版本中添加了 GPU 计算支持。此后,又发布了 5.4 版本,现在我们使用的是最新的 WSL2 内核 5.10。
而且主流 Ubuntu 内核不太可能在这里帮助你。Linux 内核与 Windows AMD 设备驱动程序进行 GPU 计算通信的能力是 Linux 内核特有的功能(据我所知)Microsoft WSL2-内核分支。
最后,现有的 WSL2 内核不支持可加载模块。由于 ROCm 听起来像作为模块安装,因此您需要:
利用上面链接的资源构建自己的
通过以下方式指向 WSL2,以使用新内核
.wslconfig
。看这个关于 Unix 和 Linux 的答案更多细节。