歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux服務器 >> 在Linux環境下Lapack軟件包的編譯和使用

在Linux環境下Lapack軟件包的編譯和使用

日期:2017/3/2 16:55:18   编辑:Linux服務器
1. 從 netlab 下載最新版本的源代碼
 
  http://www.netlib.org/lapack/lapack-3.1.0.tgz
 
  2. 將源代碼解壓縮
 
  tar -zxf lapack-3.1.0.tgz
 
  3. 編輯 make.inc 文件,進行一些系統相關的編譯參數設置
 
  PLAT : 設置生成的庫函數的後綴,比如 SUN, LINUX之類的,當然也可以不設置;
 
  FORTRAN : 設置編譯器,比如 g77, gfortran, ifort, g95 等等;
 
  OPT:設置編譯選項,根據具體的編譯器和優化要求進行設置;
 
  LOADER : 設置成和FORTRAN 一樣就可以了;
 
  4. 編輯 Makefile
 
  找到 lib: 選項。然後設置需要編譯的庫函數如下
 
  #lib: lapacklib tmglib
 
  lib: blaslib lapacklib tmglib
 
  默認的情況是不編譯 blas 庫的。
 
  5. 編譯和測試 Lapack.
 
  在源代碼的根目錄下輸入 make 回車。然後 make 程序就會自動進行編譯和測試。
 
  6. Lapack 函數的使用
 
  如果編譯和測試順利的話會在源代碼的根目錄下生成三個文件 lapack.a、blas.a、tmglib.a.lapack.a 和 blas.a 就是我們所需要的庫函數。它們的使用有兩種途徑:
 
  a) cp lapack.a liblapack.a , cp blas.a libblas.a 並拷貝到 LD_LIBRARY_PATH 目錄下,或者它們所在的目錄加入到 LD_LIBRARY_PATH 環境變量中,或者在編譯時候加上 “-L lapack所在目錄/” 選項。編譯的時候加上編譯選項 -llapack -lblas.
 
  b) 編譯的時候直接把 lapack.a 和 blas.a 一起同需要編譯的代碼一起編譯。比如 要編譯的文件為 main.f90 編譯器為 gfortran . gfortran main.f90 lapack.a blas.a.
 
  當然也可以將 Lapack 做成動態鏈接庫文件的形式來使用。當然,在 linux 系統下也可以直接安裝編譯好的文件比如 redhat 、suse 安裝 rpm 格式的文件,在 ubuntu 和 debian 系統下,安裝 deb 格式的文件。但是最好還是根據自己的環境自己編譯庫函數,這樣速度會快一些。我曾在 ubuntu 下做過實驗一般情況下速度關系為,自己編譯的庫函數 > 編譯好的庫函數 > 調用 matlab 函數

Copyright © Linux教程網 All Rights Reserved