Bitsandbytes最新版本编译安装


刚开始接触Flux,在ComfyUI上借用了前辈的一个流程,流程中用到了CheckpointLoaderNF4节点,从此开始了折腾之旅。。。。

1. 安装ComfyUI_bnb_nf4_fp4_Loaders

通过ComfyUI-Manager可以搜到这个插件,但是由于star不够,默认不允许安装,可以修改
/custom_nodes/ComfyUI-Manager/config.ini 中的
security_level = normal-在这里插入图片描述
但是,这样仍然是无法安装的,最后提示(IMPORT FAILED)
在这里插入图片描述
通过日志可以看到是Bitsandbytes版本不够,需要0.44.0

2. 安装Bitsandbytes

首先想到的自然是:pip install bitsandbytes,但是目前的镜像源上,最高只有0.43.0,那只能自己编译了。
之前以为只要直接pip install -r requirement.txt就行了,导致虽然在ComfyUI上看到新的节点,但是执行流程时仍然报错,看日志是缺少libbitsandbytes_cuda121.so包,所以才发现没那么简单。。。

下载源码

mkdir install
git clone https://github.com/TimDettmers/bitsandbytes.git
cd bitsandbytes/

当然,可以使用0.44.0-release版本

更新CMake

编译Bitsandbytes,需要CMake >= 3.22.1 和Python >= 3.8
想直接yum install cmake=3.22.1,发现清华源上没有,那就手工安装吧
去 https://cmake.org/download/下载次新版3.29.8,找到cmake-3.29.8-linux-x86_64.sh下载,放到服务器上直接运行

编译

回到 bitsandbytes目录下:
cmake -DCOMPUTE_BACKEND=cuda -S . (注意这里有个小点点)
make
pip install -e . (注意这里有个小点点)

安装/更新cuda

在bitsandbytes目录下执行:bash install_cuda.sh 122 ~/local 1
这里的122是CUDA_VERSION,取值是110,111,112,113,114,115,116,117,118,120,121,122,123, 124,125
~/local是安装路径
最后的1是指,是否将安装成功的CUDA路径同步到.bashrc环境变量中,1表示“是”

修改环境变量

export BNB_CUDA_VERSION=122
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/YOUR_USERNAME/local/cuda-12.2

检查

编译完成之后,在bitsandbytes/bitsandbytes目录下会生成libbitsandbytes_cuda122.so文件

此时执行python -m bitsandbytes,发现仍然报错,提示需要libbitsandbytes_cuda121.so文件,应该是跟环境变量设置有关系,懒得管了,直接复制libbitsandbytes_cuda122.so文件,重命名成libbitsandbytes_cuda121.so文件

重启

重新登录系统,conda activate my_env切换到工作环境,重启ComfyUI,发现CheckpointLoaderNF4已经可以选择,并且流程正常运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值