Linux 安裝 cblas, lapack, lapacke

來源:互聯網
上載者:User

1.確保機器上安裝了gfortran編譯器,如果沒有安裝的話,可以使用sudo apt-get install gfortran

2.下載blas,
cblas
, lapack 原始碼, 這些源碼都可以在 http://www.netlib.org 上找到,下載並解壓。這裡提供我安裝時的下載連結 http://www.netlib.org/blas/blas.tgz http://www.netlib.org/blas/blast-forum/cblas.tgz http://www.netlib.org/lapack/lapack-3.4.2.tgz,解壓之後會有三個檔案夾,BLAS,
CBLAS, lapack-3.4.2

3.這裡就是具體的編譯步驟

1)編譯blas, 進入BLAS檔案夾,執行以下幾條命令

gfortran -c  -O3 *.f  # 編譯所有的 .f 檔案,產生 .o檔案ar rv libblas.a *.o  # 連結所有的 .o檔案,產生 .a 檔案su cp libblas.a /usr/local/lib  # 將庫檔案複製到系統庫目錄

2)編譯cblas, 進入CBLAS檔案夾,首先根據你自己的電腦平台,將目錄下某個 Makefile.XXX 複製為 Makefile.in , XXX表示電腦的平台,如果是Linux,那麼就將Makefile.LINUX 複製為 Makefile.in,然後執行以下命令

cp ../BLAS/libblas.a  testing  # 將上一步編譯成功的 libblas.a 複製到 CBLAS目錄下的testing子目錄make # 編譯所有的目錄sudo cp lib/cblas_LINUX.a /usr/local/lib/libcblas.a # 將庫檔案複製到系統庫目錄下

3)編譯 lapack以及lapacke,這一步比較麻煩,首先當然是進入lapack-3.4.2檔案夾,然後根據平台的特點,將INSTALL目錄下對應的make.inc.XXX 複製一份到 lapack-3.4.2目錄下,並命名為make.inc, 這裡我複製的是 INSTALL/make.inc.gfortran,因為我這裡用的是gfortran編譯器。

修改lapack-3.4.2/Makefile, 因為lapack以來於blas庫,所以需要做如下修改

#lib: lapacklib tmglib

lib: blaslib variants lapacklig tmglib

make # 編譯所有的lapack檔案cd lapacke # 進入lapacke 檔案夾,這個檔案夾包含lapack的C語言介面檔案make # 編譯lapackecp include/*.h /usr/local/include #將lapacke的標頭檔複製到系統標頭檔目錄cd .. #返回到 lapack-3.4.2 目錄cp *.a /usr/local/lib # 將產生的所有庫檔案複製到系統庫目錄

這裡的標頭檔包括: lapacke.h, lapacke_config.h, lapacke_mangling.h, lapacke_mangling_with_flags.h lapacke_utils.h

產生的庫檔案包括:liblapack.a, liblapacke.a, librefblas.a, libtmglib.a

至此cblas和lapack就成功安裝到你的電腦上了。

測試:

可以到 LAPACKE 找測試代碼,這裡是lapacke的官方文檔,比如以下代碼:

#include <stdio.h>#include <lapacke.h> int main (int argc, const char * argv[]){   double a[5*3] = {1,2,3,4,5,1,3,5,2,4,1,4,2,5,3};   double b[5*2] = {-10,12,14,16,18,-3,14,12,16,16};   lapack_int info,m,n,lda,ldb,nrhs;   int i,j;    m = 5;   n = 3;   nrhs = 2;   lda = 5;   ldb = 5;    info = LAPACKE_dgels(LAPACK_COL_MAJOR,'N',m,n,nrhs,a,lda,b,ldb);    for(i=0;i<n;i++)   {      for(j=0;j<nrhs;j++)      {         printf("%lf ",b[i+ldb*j]);      }      printf("\n");   }   return(info);}

將上訴代碼儲存為test.c,編譯時間,別忘了使用gfortran,此外,還需要串連用到的庫,編譯上面的代碼,應使用如下命令:

gfortran test.c -llapacke -llapack -lrefblas

如果能正常編譯,即表示安裝成功。如果要瞭解這段代碼的具體含義,可以到
LAPACKE  查看

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.