WLS ROCm 安装问题:可能没有 GPU 设备

WLS ROCm 安装问题:可能没有 GPU 设备

我一直在尝试安装 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 听起来像作为模块安装,因此您需要:

相关内容