我正在尝试使用 AMD GPU 在本地计算机上运行和部署 Dalle Playground,我在 Windows 11 上运行 WSL 实例。
System OS: Windows 11 Pro - Version 21H1 - OS Build 22000.675
WSL Version: WSL 2
WSL Kernel: 5.10.16.3-microsoft-standard-WSL2
WSL OS: Ubuntu 20.04 LTS
GPU: AMD Radeon RX 6600 XT
CPU: AMD Ryzen 5 3600XT (32GB ram)
Run Code Online (Sandbox Code Playgroud)
我已经能够成功部署后端和前端,但它会占用 CPU 资源。
它给了我这个警告:
--> Starting DALL-E Server. This might take up to two minutes.
2022-06-12 01:16:33.012306: I external/org_tensorflow/tensorflow/core/tpu/tpu_initializer_helper.cc:259] Libtpu path is: libtpu.so
2022-06-12 01:16:37.581440: I external/org_tensorflow/tensorflow/compiler/xla/service/service.cc:174] XLA …Run Code Online (Sandbox Code Playgroud) 我正在尝试分析为 RDNA3 AMD GPU 编译的 OpenCL 内核。
为此,我使用Radeon GPU 分析器。
当我在分析器中加载 OpenCL 内核时,它会在 gfx1102 (RDNA3) 程序集中显示其汇编指令。
到目前为止,一切都很好。
不过,我很难解释指令名称。我可以在ISA 文档中查找它们,但通常不会列出完整的指令名称。
在我的内核的内部循环中,我对 16 位浮点值进行乘加。
我看到这翻译成:
v_fmac_f16_e32 v?, v?, v?
Run Code Online (Sandbox Code Playgroud)
这似乎很合适,因为我知道“v”代表向量,fmac代表融合乘加,f16代表16位浮点参数。
但文档没有描述后缀_e32。
_e32RDNA3组装中的suffic是什么意思?
我正在运行 Ubuntu 18.04 并拥有 RX 580 AMD GPU。我安装了专业驱动程序 (19.10) 并安装了 OpenCL,但是当我运行时clinfo它显示 0 个平台。我怎样才能让它检测到我的GPU。
我在 Ubuntu 16.04 上也遇到了这个问题,我无法让它与任何 AMD 专业驱动程序或常规驱动程序一起工作。
我无法使用最新的开源AMD驱动程序AMDGPU通过AVD(Android虚拟设备管理器)在Linux上启动任何虚拟设备.
错误信息:
Cannot launch AVD in emulator.
Output:
libGL error: unable to load driver: radeonsi_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: radeonsi
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
X Error of failed request: GLXBadContext
Major opcode of failed request: 153 (GLX)
Minor opcode of failed request: 6 (X_GLXIsDirect)
Serial number of failed request: …Run Code Online (Sandbox Code Playgroud) 我使用 OpenCL(在 Ubuntu 下)来查询可用平台,这会产生一个平台,其中
CL_PLATFORM_PROFILE:完整_PROFILE
CL_PLATFORM_VERSION:OpenCL 2.1 AMD-APP (3143.9)
CL_PLATFORM_NAME:AMD 加速并行处理
CL_PLATFORM_VENDOR:Advanced Micro Devices, Inc.
其中提供了一种设备,我可以使用以下方式进行查询:
cl_device_id device = devices[ j ];
cl_uint units = -1;
cl_device_type type;
size_t lmem = -1;
cl_uint dims = -1;
size_t wisz[ 3 ];
size_t wgsz = -1;
size_t gmsz = -1;
err = clGetDeviceInfo( device, CL_DEVICE_NAME, sizeof(name), name, 0 );
err = clGetDeviceInfo( device, CL_DEVICE_NAME, sizeof(vend), vend, 0 );
err = clGetDeviceInfo( device, CL_DEVICE_MAX_COMPUTE_UNITS, sizeof(units), &units, 0 );
err …Run Code Online (Sandbox Code Playgroud) amd-gpu ×5
opencl ×3
amd-rocm ×1
android ×1
assembly ×1
linux ×1
ubuntu ×1
ubuntu-18.04 ×1
windows-subsystem-for-linux ×1
wsl-2 ×1