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

编译faiss

编译faiss-1.10.0

首先确保自己cmake的版本:
cmake --version 确保其版本至少为CMake 3.24.0 or higher is required
其次安装OpenBLAS:
https://github.com/OpenMathLib/OpenBLAS 去这里去安转Openblas内容,然后确保自己的CPU的指令集是存在AVX512的内容,之后使用下面的内容进行编译Openblas:

make clean
make -j$(nproc) TARGET=SKYLAKEX CC="gcc -mavx512f -mavx512cd -mavx512dq -mavx512bw -mavx512vl"
make PREFIX=$HOME/.local/openblas install

使用下面的内容进行Openblas验证,有输出就是安装成功。

nm $HOME/.local/openblas/lib/libopenblas.a | grep cblas_sgemm

下载相关的Boost内容:
进入到这里面:
https://github.com/boostorg/boost/releases?page=2,下载boost-1.81.0.tar.gz.

# 重新bootstrap(注意去掉 interprocess)
./bootstrap.sh --prefix=$HOME/.local/boost --with-libraries=system,thread,filesystem,serialization,program_options,regex,date_time,chrono,atomic,test# 然后编译+安装
./b2 install -j$(nproc)
ls $HOME/.local/boost/include/boost
ls $HOME/.local/boost/include/boost/interprocess

使用上面的内容进行检测,会发现提供一些目录,就表明安装boost成功。
进入到faiss-1.10.0目录下,

rm -rf build  # 清理旧的
mkdir buildcmake -B build . \-DFAISS_ENABLE_GPU=OFF \-DFAISS_ENABLE_PYTHON=OFF \-DBUILD_TESTING=OFF \-DCMAKE_BUILD_TYPE=Debug \-DFAISS_ENABLE_C_API=ON \-DBUILD_SHARED_LIBS=ON \-DBLAS_LIBRARIES=$HOME/.local/openblas/lib/libopenblas.so \-DCMAKE_CXX_FLAGS="-I$HOME/.local/boost/include"cmake --build build -j$(nproc)

完成Faiss的编译过程。
在这里插入图片描述

http://www.dtcms.com/a/165934.html

相关文章:

  • Multicore-TSNE
  • ROS2与Carla安装设备(其三)测试 ROS 2
  • 基于 Rancher 部署 Kubernetes 集群的工程实践指南
  • STM32实现simpleFOC控制无刷电机
  • 基于C++的IOT网关和平台4:github项目ctGateway交互协议
  • 张正友相机标定算法(Zhang’s camera calibration method)原理和过程推导(附OpenCV代码示例)
  • QT6 源(63)篇六:阅读与注释 QString 这个类,包含了 QString 类的 完整源码,也附上 QLatin1String 类的
  • Linux C++ xercesc xml 怎么判断路径下有没有对应的节点
  • Arduino项目实战与编程技术详解
  • LangChain的向量RAG与MCP在意图识别的主要区别
  • 离轴干涉系统 | 赋能超表面性能精准检测
  • Java批量数据处理唯一ID生成优化
  • WPF之TextBox控件详解
  • LeRobot 项目部署运行逻辑(三)——机器人及舵机配置
  • 黑苹果显卡免驱教程:蓝宝石RX580刷成RX570详细步骤(附工具与注意事项)
  • 分布式计算框架(Dask)与单机库(Pandas)数据处理方法对比分析
  • 小知识总结记录
  • 数据库的死锁相关(一)
  • 软考:硬件中的CPU架构、存储系统(Cache、虚拟内存)、I/O设备与接口
  • 泛微OA.E9--07--IDEA搭建后端二开环境
  • Docker进入MySQL之后如何用sql文件初始化数据
  • 关于杰理ac791切换版本, git clone下来仍然是最新版本问题
  • 使用Docker部署魔豆文库:本地化搭建私有文档管理系统
  • Godot笔记:入门索引
  • 第一章 OpenCV篇-配置及基础知识-Python
  • Ethan独立开发产品日报 | 2025-04-29
  • 研发效率破局之道阅读总结(4)个人效率
  • MIPS架构详解:定义、应用与其他架构对比
  • SpringBoot 设置HTTP代理访问
  • C++智能指针应用详解:从原理到实战