背景最近关注了stable-diffusion.cpp一个用纯C/C推理扩散模型的方案之前一直在用ComfyUI推理SDXL或Z Image Turbo想试一下stable-diffusion.cpp会不会更快我的电脑用的是AMD的780M核显(gfx1103)虽然目前AMD官方没有该显卡的ROCm驱动但可以通过社区项目TheRock安装ROCm驱动所以我的环境是780M TheRock ROCmstable-diffusion.cpp 已经提供了 ROCm 的预构建理论上可以直接下载运行但这个版本在运行过程中会报错因为这个是基于AMD官方的ROCm驱动编译的与TheRock ROCm目前还有兼容性问题。为了正常使用可以自行编译stable-diffusion.cpp ROCm版本编译过程环境配置首先需要安装 TheRock ROCm 的相关开发组件rocm[libraries,devel]这里用 780M 举例详细安装命令请自行参照 TheRock 安装pipinstall--index-url https://rocm.nightlies.amd.com/v2/gfx110X-all/rocm[libraries,devel]注安装时建议创建一个虚拟环境或独立环境安装等待安装完成后就可以在 pip 看到相关包了此时运行rocm-sdk init就可以得到环境目录把环境目录下的bin和lib\llvm\bin放到环境变量PATH中在我这里就是D:\ToolChain\micromamba\envs\therock\Lib\site-packages\_rocm_sdk_devel\bin(ROCm 相关组件)D:\ToolChain\micromamba\envs\therock\Lib\site-packages\_rocm_sdk_devel\lib\llvm\bin(ROCm附带的Clang编译器)配置好环境变量后在终端运行clang -v就能看到如下提示至此编译所需的环境就配置好了。注因为后续需要cpp编译默认使用ninja构建如未安装请自行下载。编译过程首先通过git获取源码git clone https://github.com/leejet/stable-diffusion.cpp.git接着进入目录执行子模块初始化与更新git submodule update --init --recursive下载好文件后就可以创建build目录手动创建或者直接执行mkdir build cd build都可以然后就可以运行 CMake 生成 ROCm 后端构建文件cmake..-GNinja-DCMAKE_C_COMPILERclang-DCMAKE_CXX_COMPILERclang-DSD_HIPBLASON-DCMAKE_BUILD_TYPERelease-DGPU_TARGETSgfx1103-DAMDGPU_TARGETSgfx1103-DCMAKE_BUILD_WITH_INSTALL_RPATHON-DCMAKE_POSITION_INDEPENDENT_CODEON注参数中的gfx1103对应 780M 核显其他显卡请输入正确的对应编号。然后直接运行构建即可cmake --build . --config Release等待一段时间后就可以看到结果