openblas下載安裝與使用
阿新 • • 發佈:2018-12-30
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中。