FAISS 搜索失败并出现模糊错误:“非法指令”或内核崩溃

Posted

技术标签:

【中文标题】FAISS 搜索失败并出现模糊错误:“非法指令”或内核崩溃【英文标题】:FAISS search fails with vague error: "Illegal instruction" or kernel crash 【发布时间】:2020-09-15 18:10:55 【问题描述】:

目前尝试通过FAISS 使用该链接中的可重现代码运行基本相似性搜索。但是,每次我在以下场所运行代码时,都会遇到这些问题:

Jupyter 笔记本 - 内核崩溃 VS 代码 - 在终端中收到“非法指令”消息,没有进一步的文档

我在 Kaggle 中也有类似的代码,所以我想问题出在我的特定设置上。

根据打印语句,错误似乎是在调用.search 方法期间发生的。由于这个错误非常模糊,我无法找到关于这个问题的太多信息。似乎有些人提到旧处理器可能有问题(AVX/AVX2 标志是罪魁祸首?),但我承认我不太了解其中的联系。

问题:我能否得到一些帮助来理解这个错误,如果可能的话,一个潜在的解决方案?

当前设置:

WSL2 VSCODE (v. 1.49.0) Jupyter 客户端 (v. 6.1.7) Jupyter 核心 (v. 4.6.3) FAISS-cpu (v. 1.6.3) Numpy (v. 1.19.2) 旧机器(AMD FX-8350,16GB RAM)

【问题讨论】:

【参考方案1】:

对于遇到此错误的任何人,问题(在我的情况下)是我的 CPU 足够老以至于它不支持 AVX2。为了确定这一点,我使用了this SO 帖子。

在 Colab 或更新的机器上运行代码后,一切都很好。

【讨论】:

以上是关于FAISS 搜索失败并出现模糊错误:“非法指令”或内核崩溃的主要内容,如果未能解决你的问题,请参考以下文章

非法指令:运行 Django 时为 4

Azure AD Graph 调用用户创建失败并出现一些模糊的错误

工作程序在“清洁机器”上出现非法指令错误?

Faiss向量相似性搜索

Faiss使用多线程出现的性能问题

MIPS交叉编译错误:非法指令