Home » NX入门教程软件篇 » NX入门教程软件篇-安装BLAS-CBLAS-LPACK

NX入门教程软件篇-安装BLAS-CBLAS-LPACK

NX入门教程软件篇-安装BLAS-CBLAS-LPACK

说明:

  • 介绍NX下如何源码安装BLAS-CBLAS-LPACK

步骤:

  • 安装依赖
sudo apt-get install gfortran
  • 下载源码
mkdir -p ~/tools/
cd ~/tools/
wget http://www.netlib.org/blas/blas.tgz
wget http://www.netlib.org/blas/blast-forum/cblas.tgz
wget http://www.netlib.org/lapack/lapack-3.4.2.tgz
  • 解压之后会有三个文件夹,BLAS, CBLAS, lapack-3.4.2
tar xvf blas.tgz
tar xvf cblas.tgz
tar xvf lapack-3.4.2.tgz
  • 编译blas
gfortran -c  -O3 *.f  # 编译所有的 .f 文件,生成 .o文件
ar rv libblas.a *.o  # 链接所有的 .o文件,生成 .a 文件
su cp libblas.a /usr/local/lib  # 将库文件复制到系统库目录
##################################################################
#如果上面代码有问题,可以试试下面的编译方法
gfortran -c  -O3  -fPIC  *.f # 编译所有的 .f 文件,生成 .o文件   加上了-fPIC
gcc -shared *.o -fPIC -o  libblas.so
cp libblas.so /usr/local/lib/
ar rv libblas.a *.o  # 链接所有的 .o文件,生成 .a 文件  
su cp libblas.a /usr/local/lib  # 将库文件复制到系统库目录
  • 编译cblas
  • 进入CBLAS文件夹,首先根据你自己的计算机平台,将目录下某个 Makefile.XXX 复制为 Makefile.in
  • XXX表示计算机的平台,如果是Linux,那么就将Makefile.LINUX 复制为 Makefile.in,然后执行以下命令
# 将上一步编译成功的 libblas.a 复制到 CBLAS目录下的testing子目录
cp ../BLAS/libblas.a  testing  
# 编译所有的目录
make 
# 将库文件复制到系统库目录下
sudo cp lib/cblas_LINUX.a /usr/local/lib/libcblas.a 
  • 编译 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.inc 文件
BLASLIB  = /usr/local/lib/libblas.a
CBLASLIB = /usr/local/lib/libcblas.a
LAPACKLIB = liblapack.a
TMGLIB = libtmglib.a
LAPACKELIB = liblapacke.a
  • 设定好对应的blas和cblas目标文件的链接路径(在系统库目录下的)。接下来运行代码
sudo make # 编译所有的lapack文件
cd lapacke # 进入lapacke 文件夹,这个文件夹包含lapack的C语言接口文件
make # 编译lapacke
sudo cp include/*.h /usr/local/include #将lapacke的头文件复制到系统头文件目录
cd .. #返回到 lapack-3.4.2 目录
sudo 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就成功安装

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: nx入门教程软件篇