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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/687698.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

38页 | 工商银行大数据平台助力全行数字化转型之路(免费下载)

【1】关注本公众号,转发当前文章到微信朋友圈 【2】私信发送 工商银行大数据平台 【3】获取本方案PDF下载链接,直接下载即可。 如需下载本方案PPT/WORD原格式,请加入微信扫描以下方案驿站知识星球,获取上万份PPT/WORD解决方案&a…

【C++】list的基本使用

💗个人主页💗 ⭐个人专栏——C学习⭐ 💫点击关注🤩一起学习C语言💯💫 目录 导读 1. list基本介绍 2. list构造函数 3. list迭代器 4. list容量 5. list的修改操作 6. list排序 导读 今天我们来正式…

企业该如何选择GPU云服务器配置?

无论是个人开发者还是企业用户,对于如何选购最佳的云服务器配置,都是比较头疼与纠结的。因为GPU云服务器的配置众多,各种组合有各自优势与用途,很难一下子做出决策。接下来,我们来简单分析下各配置应该怎么选购。 1、地…

k8s和deepflow部署与测试

Ubuntu-22-LTS部署k8s和deepflow 环境详情: Static hostname: k8smaster.example.net Icon name: computer-vm Chassis: vm Machine ID: 22349ac6f9ba406293d0541bcba7c05d Boot ID: 605a74a509724a88940bbbb69cde77f2 Virtualization: vmware Operating System: U…

红海边的这座城,如何点亮人类可持续发展之梦

导读:造一座100%清洁能源供电的城市? 城市是人类最伟大的成就之一,数千年来城市承载了人类文明的跃迁。21世纪,在人类追求可持续发展的蓝图中,城市有了新的使命。 容纳全球50%以上人口,但碳排放量超过70%的…

植物大战僵尸杂交版 2.0 下载及配置图文教程

文章目录 Part.I IntroductionPart.II 下载Chap.I 下载地址Chap.II 网盘直链下载 Part.III 配置Chap.I 解压与安装Chap.II 加载存档Chap.III 其他设置 Reference Part.I Introduction 最近看大仙儿直播植物大战僵尸,觉得挺好玩的。它大概长这样: 就上网…

怎么取消Intellij IDEA中的项目和Git仓库的关联

这篇文章分享一种最简单的方法,取消已经开启代码控制的项目与git代码仓库的关联。 打开项目的位置,然后点击文件管理器上方的查看选项卡,勾选【隐藏的项目】。 然后可以看到项目的文件夹下显示了一个隐藏的.git文件夹,直接把这个.…

英伟达Blackwell芯片正式投入生产 | 百能云芯

在近日的一场公开活动中,英伟达公司的创始人和首席执行官黄仁勋正式宣布,备受瞩目的Blackwell芯片已成功投产。 黄仁勋在讲话中强调,英伟达将继续坚持其数据中心规模、一年节奏、技术限制、一个架构的战略方向。这意味着英伟达将继续运用业界…

一个简单好用的 C# Animation Easing 缓动动画类库

文章目录 1.类库说明2.使用步骤2.1 创建一个Windows Form 项目2.2 安装类库2.3 编码2.4 效果 3.该库支持的缓动函数4.代码下载 1.类库说明 App.Animations 类库是一个很精炼、好用的 csharp easing 动画库 基于 net-standard 2.0提供 Fluent API,写代码非常舒服。…

项目3:从0开始的RPC框架

一. 基本概念 区别于传统的增删改查型的业务项目,本项目侧重于开发框架,并且涉及架构方面的技术知识点。 1. 什么是RPC? 远程过程调用(Remote Procedure Call),是一种计算机通信协议,它允许程…

02眼电识别眼动--软件V1.0

对应视频链接点击直达 01项目点击下载,可直接运行(含数据库) 02眼电识别眼动--软件V1.0 对应视频链接点击直达构思结语其他以下是废话 构思 对于软件,主要就是接收数据、处理数据、储存和显示数据。 这是主要页面,…

爬取股票数据python

最近在搜集数据要做分析,一般的数据来源是一手数据(生产的)和二手数据(来自其他地方的)。 今天我们爬取同花顺这个网站的数据。url为:https://data.10jqka.com.cn/ipo/xgsgyzq/ 话不多说直接上代码。有帮…

QT项目实战: 五子棋小游戏

目录 内容介绍 一.添加头文件 二.画棋盘 1.宏定义 2.棋盘 三.画棋子 四.获取棋子摆放位置 五.判断棋子存在 六.判断胜利 1.变量定义和初始化 2.检查获胜条件 3.游戏结束处理 七.重绘 八.效果展示 九.代码 1.mainwindow.h 2.mainwindow.cpp 3.chessitem.h 4…

部署kubesphere报错

安装kubesphere报错命名空间terminted [rootk8smaster ~]# kubectl apply -f kubesphere-installer.yaml Warning: apiextensions.k8s.io/v1beta1 CustomResourceDefinition is deprecated in v1.16, unavailable in v1.22; use apiextensions.k8s.io/v1 CustomResourceDefini…

【Oracle篇】rman全库异机恢复:从单机环境到RAC测试环境的转移(第五篇,总共八篇)

💫《博主介绍》:✨又是一天没白过,我是奈斯,DBA一名✨ 💫《擅长领域》:✌️擅长Oracle、MySQL、SQLserver、阿里云AnalyticDB for MySQL(分布式数据仓库)、Linux,也在扩展大数据方向的知识面✌️…

车载以太网测试要测些什么呢?

车载以太网测试大致可以分成两块:TC8测试和以太网通信测试。 TC8测试全称TC8一致性测试,其规范由OPEN联盟制定,包括车载以太网ECU从物理层到应用层的各层互操作性以及常规基础功能服务。目的在于提高不同ECU之间的兼容性。 TC8测试规范可以…

C++STL---stack queue知识汇总

前言 C将stack和queue划归到了Containers中,但严格的说这并不准确,stack和queue实际上已经不再是容器了,而是属于容器适配器,适配器做的功能是转换,即:它不是直接实现的,而是由其他容器封装转换…

ruoyi若依二次开发怎么添加扫描自己的controller和mapper,配置三个地方即可。

概要 首先,添加在com.ruoyi外的类,项目启动后,调用接口,是会返回404找不到的。 必须要对这以外的接口类进行配置。目录结构如下: 解决步骤 一、添加 com.ruoyi.framework.config 下: // 指定要扫描的M…

深度学习革命-AI发展详解

深度学习革命 《深度学习革命》是一部引人深思的作品,详细讲述了深度学习技术的发展历程及其对各个行业的深远影响。由杰出的计算机科学家、深度学习专家撰写,这本书不仅适合科技领域的专业人士阅读,也为普通读者提供了一个理解人工智能革命…

LeetCode322.零钱兑换

文章目录 题目描述解题思路递归记忆化搜索动态规划另一种实现 题目描述 https://leetcode.cn/problems/coin-change/description/?envTypestudy-plan-v2&envIdtop-interview-150 给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount …