arm-linux-gnueabihf 交叉编译 faiss、openblas、openmpi

1. 安装交叉编译工具链

可参考文章(272条消息) ubuntu20.04 arm-linux-gnueabihf交叉编译opencv4.7.0 与opencv-contrib-4.7.0_洪流之源的博客-CSDN博客

2. 安装cmake

faiss对cmake版本要求较高,可参考文章(272条消息) ubuntu20.04 arm-linux-gnueabihf交叉编译opencv4.7.0 与opencv-contrib-4.7.0_洪流之源的博客-CSDN博客

 3. 编译OpenBLAS

1)克隆源码

git clone https://github.com/xianyi/OpenBLAS.git -b v0.3.20

2)编译

脚本如下:

#!/bin/bash

set -e

cd OpenBLAS
INSTALL_DIR=install

if [ -d ${INSTALL_DIR} ]; then
  cd ${INSTALL_DIR}
  rm -rf *
  cd ..
else
  mkdir ${INSTALL_DIR}
fi

make CC=arm-linux-gnueabihf-gcc FC=arm-linux-gnueabihf-gfortran HOSTCC=gcc TARGET=ARMV7 BINARY=32
make PREFIX=./install_ install

4. 编译faiss

1)克隆源码

git clone https://github.com/facebookresearch/faiss.git -b v1.7.4

2)编译

脚本如下:

#!/bin/bash

set -e

cd faiss

BUILD_DIR=build

if [ ! -d "${BUILD_DIR}" ]; then
  mkdir -p ${BUILD_DIR}
fi

cd ${BUILD_DIR}
rm -rf *

GCC_COMPILER=arm-linux-gnueabihf
cmake -DCMAKE_C_COMPILER=${GCC_COMPILER}-gcc \
      -DCMAKE_CXX_COMPILER=${GCC_COMPILER}-g++ \
      -DFAISS_ENABLE_GPU=OFF \
      -DFAISS_ENABLE_PYTHON=OFF \
      -DCMAKE_INSTALL_PREFIX=install \
      -DMKL_LIBRARIES=/examples/shitu/faiss/OpenBLAS/install_/lib/libopenblas.so \
      -DBUILD_TESTING=OFF \
      ..

make -j$(nproc)
make install

5. 编译openmpi

1)下载源码

Open MPI: Version 4.1 (open-mpi.org)

 2)编译

脚本如下:

#!/bin/bash

set -e

cd openmpi-4.1.5

./configure --prefix="$(pwd)/install" \
            CC=arm-linux-gnueabihf-gcc \
            CXX=arm-linux-gnueabihf-g++ \
            --host=arm-linux-gnueabihf \
            --enable-script-wrapper-compilers \
            --disable-mpi-fortran \
            --enable-shared \
            --disable-dlopen

make -j$(nproc)
make install

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

洪流之源

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值