openblas下载安装与使用

本文详细介绍了如何从官方网站下载OpenBLAS,并提供了通过git clone进行安装的步骤。此外,还提供了配置cmake文件的具体示例,以及如何在C++程序中使用OpenBLAS进行矩阵运算的示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

openblas下载

openblas安装

直接执行

git clone https://github.com/xianyi/OpenBLAS.git
cd OpenBLAS
make
make PREFIX=/path/to/your/installation install

openblas使用

将相应的头文件及库文件考到相应的位置

cp ~/software/openblas/include/* ./include/
cp ~/software/openblas/lib/libopenblas.a ./lib/

cmake文件如下:

cmake_minimum_required (VERSION 2.6)
project (TEST)

set (TEST_VERSION 0.1)
 
set(CMAKE_BUILD_TYPE "Debug")
set(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb -DDEBUG")
set(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall")
  
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/../bin)

aux_source_directory(${PROJECT_SOURCE_DIR}/src DIR_SRC)
 
include_directories(${PROJECT_SOURCE_DIR}/src)

include_directories(${PROJECT_SOURCE_DIR}/include)

link_directories(${PROJECT_SOURCE_DIR}/lib)
add_executable(main ${DIR_SRC})

target_link_libraries(main libopenblas.a)
target_link_libraries(main -lm)
target_link_libraries(main -lpthread)

注意最后多连接了两个库:

target_link_libraries(main -lm)
target_link_libraries(main -lpthread)

测试程序如下:

#include <cblas.h>
#include <stdio.h>

void main() {

    int i = 0;
    double A[6] = {1.0,2.0,1.0,-3.0,4.0,-1.0};         
    double B[6] = {1.0,2.0,1.0,-3.0,4.0,-1.0};  
    double C[9] = {.5,.5,.5,.5,.5,.5,.5,.5,.5}; 

    int M = 3; // row of A and C
    int N = 3; // col of B and C
    int K = 2; // col of A and row of B

    double alpha = 1.0;
    double beta = 0.0;

    cblas_dgemm(CblasRowMajor, CblasNoTrans, CblasNoTrans, M, N, K, alpha, A, K, B, N, beta, C, N);

    for (i = 0; i < 9; i++) {
        printf("%lf ", C[i]);
    }
    printf("\n");
}

保存为main.c,放在文件夹src中,执行

mkdir build
cd build
cmake ..
make

生成执行文件在文件夹bin中。

接口说明

转载于:https://www.cnblogs.com/qujingtongxiao/p/10197784.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值