当前位置: 首页 > news >正文

Faiss assertion ‘err == cudaSuccess‘ failed in void faiss::gpu:runL2Norm()

Faiss assertion ‘err == cudaSuccess’ failed in void faiss::gpu:runL2Norm(). details:CUA error 209 no kernel image is available for execution on the device

本人使用的ubuntu 22.04系统,conda的环境。使用pip安装faiss-gpu出现的问题。

pip install faiss-gpu==1.80

错误原因:依然怀疑是conda安装的cuda版本和本机器安装的cuda版本不一致,在github上也查看到了解决类似的issue方法,调至版本一致。
在这里插入图片描述
但是没有成功。

后面仔细查看了错误原因有:details:CUA error 209 no kernel image is available for execution on the device。仔细查看了一下愿意是显卡过于落后计算能力不行,显卡是1080。在Nvidia官网中查到:
在这里插入图片描述因此使用的pip 安装的可能compute capability过于高。因此需要按照源码重新编译一下库faiss。参考:
https://github.com/facebookresearch/faiss/blob/main/INSTALL.md
对于其中的编译,如果你用的是conda 可以使用下面方式编译,因为我的是1080,参考

cmake -B build . -DCUDAToolkit_ROOT=/usr/local/cuda/ -DFAISS_ENABLE_GPU=ON -DPython_EXECUTABLE=/home/xxx/anaconda3/envs/xxx/python -DCMAKE_CUDA_FLAGS="-gencode arch=compute_61,code=sm_61"
make -C build -j16
cd build/faiss/python/ 
python setup.py install
#注意修改成 自己的 cuda 和 python解释器,arch=compute_61,code=sm_61,如果你的是其它显卡版本,可以换成你的显卡版本,(我的是61)。

编译如果遇到问题:undifined SWIGTYPE_p_unsigned_long_long问题。那需要找到文件:swigfaiss.swig。改变一下:

在这里插入图片描述
将原来的64改成32,这样你使用SWIGWORDSIZE64会返回:SWIGTYPE_p_unsigned_long_long

这样编译成功。解决上述问题。

相关文章:

  • STM32/keil把多个c文件编译为静态库lib
  • C++的算法:拓扑排序的原理及应用
  • WWDC 2024前瞻:苹果如何用AI技术重塑iOS 18和Siri
  • VMware ESXi 8.0U2c macOS Unlocker OEM BIOS 集成网卡驱动 Marvell AQC 网卡定制版
  • dp+矩阵快速幂,CF551D. GukiZ and Binary Operations
  • 【数据分析基础】实验一 Python运算符、内置函数、序列基本用法
  • 什么时候用C而不用C++?
  • mysql当前状态分析(show status)
  • 吃星星(1.5)
  • 网页音频提取在线工具有哪些 网页音频提取在线工具下载
  • 转让无区域商业管理公司挺批行业包变更
  • Windows Server 2008 r2 + NAS
  • 介绍建造者模式
  • Hadoop的Windows环境准备
  • 超详解——识别None——小白篇
  • 网络传输文件的问题
  • 【Leetcode】104. 二叉树的最大深度
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • AngularJS指令开发(1)——参数详解
  • avalon2.2的VM生成过程
  • codis proxy处理流程
  • css选择器
  • Cumulo 的 ClojureScript 模块已经成型
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • Javascript弹出层-初探
  • webpack项目中使用grunt监听文件变动自动打包编译
  • 浮动相关
  • 关于List、List?、ListObject的区别
  • 浅谈Kotlin实战篇之自定义View图片圆角简单应用(一)
  • 如何设计一个微型分布式架构?
  • 如何优雅地使用 Sublime Text
  • 设计模式 开闭原则
  • 使用putty远程连接linux
  • -- 数据结构 顺序表 --Java
  • 思否第一天
  • 06-01 点餐小程序前台界面搭建
  • media数据库操作,可以进行增删改查,实现回收站,隐私照片功能 SharedPreferences存储地址:
  • Redis4.x新特性 -- 萌萌的MEMORY DOCTOR
  • 好程序员web前端教程分享CSS不同元素margin的计算 ...
  • 继 XDL 之后,阿里妈妈开源大规模分布式图表征学习框架 Euler ...
  • (02)Unity使用在线AI大模型(调用Python)
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (vue)页面文件上传获取:action地址
  • (ZT)北大教授朱青生给学生的一封信:大学,更是一个科学的保证
  • (附源码)计算机毕业设计SSM保险客户管理系统
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .NET Framework Client Profile - a Subset of the .NET Framework Redistribution
  • .net mvc 获取url中controller和action
  • .net 程序 换成 java,NET程序员如何转行为J2EE之java基础上(9)
  • .NET/C# 使窗口永不获得焦点
  • .net开发日常笔记(持续更新)
  • .net项目IIS、VS 附加进程调试
  • .NET应用UI框架DevExpress XAF v24.1 - 可用性进一步增强