利用Intel编译器编译netcdf

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Linux下用Intel编译器编译安装NetCDF-Fortan库(4.2以后版本)
本来这个问题真的没必要写的,可是真的困扰我太久%>_<%,决定还是记录一下。

首先,最权威清晰的安装文档还是官方的:
Building the NetCDF-4.2 and later Fortran libraries (写此文时,最近版为4.2)
那这个文档最开始就告诉我们,自NetCDF库4.2版本以后,Fortran的库和C的库就要分开build啦!而且要装Fortran的库必须先装好C的库。

所以先装C的库咯:仍然官方文档:
Getting and Building NetCDF-C (写此文时,最新版本为4.3.2)
那这个文档告诉我们:要装NetCDF-C的库,有三个(其实是两个)必须装的:zlib,HDF5,(curl)。

综上,需要下载4个tar的包。

点我们下载:zilb & hdf5 netcdf-c-4.3.2 netcdf-fortran-4.2
参照官方文档,zlib和hdf5的安装比较简单,指定一下安装路径即可:
build zlib:
$ ./configure --prefix=/home/ed/local
$ make check install
build HDF5:
$ ./configure --with-zlib=/home/ed/local --prefix=/home/ed/local $ make check install
其中,比较容易出问题的是HDF5的安装,参阅HDF5官方文档
成功之后,就可以进行netcdf-c和netcdf-fortran库的安装了,这里有个问题要注意:编译安装库时候的编译器要和你以后编译你的Fortran代码使用的编译器一致,否者以后在编译Fortran源代码其中用到netcdf库时会出错。

以我为例:我平时用Intel的编译器,所以此时在安装这两个库的时候,分别用Intel C++ Composer和Intel Fortran Composer进行编译(后面简称icc和ifort)
Intel 编译器的下载地址
User and Reference Guide for the Intel® C++ Compiler 14.0
User and Reference Guide for the Intel® Fortran Compiler 14.0
Using Intel Compilers for Linux Under Redhat Enterprise Linux or CentOS
安装好了icc和ifort以后均需要设置一下环境变量:(最好添加到~/.bashrc文件中)
source <compiler_install_dir>/bin/compilervars.sh intel64
接下来就是用Intel编译器编译安装netcdf库了:
Building NetCDF* with the Intel® compilers官方文档
关键就是设置几个编译选项:
export CC=icc
export CXX=icpc
export CFLAGS='-O3 -xHost -ip -no-prec-div -static-intel'
export CXXFLAGS='-O3 -xHost -ip -no-prec-div -static-intel'
export F77=ifort
export FC=ifort
export F90=ifort
export FFLAGS='-O3 -xHost -ip -no-prec-div -static-intel'
export CPP='icc -E'
export CXXCPP='icpc -E'
对于c库:
$ CPPFLAGS=-I/home/ed/local/include
LDFLAGS=-L/home/ed/local/lib ./configure --disable-netcdf-4
--disable-dap --prefix=/home/ed/local
$ make check install
对于Fortran库:
首先仍然如上设置编译选项,然后假设你的c库安装在路径${DIR1}:
export LD_LIBRARY_PATH=${DIR1}/lib:${LD_LIBRARY_PATH}
然后和c库的编译过程一样:
CPPFLAGS=-I${DIR1}/include LDFLAGS=-L${DIR1}/lib ./configure
--prefix=${DIR1}
make
make check
make install
装好了NetCDF-Fortran库了以后如何使用?参考文档:
NetCDF Fortran 90 Interface Guide
Linux 下mpich2 安装
1:从MPICH2官网下载源代码,
/research/projects/mpich2 /downloads/tarballs/1.0.8/mpich2-1.0.8.tar.gz 目前最新的是1.0.8,当然如果你使用的windows平台也可以下载
/research /projects/mpich2/downloads/tarballs/1.0.8/mpich2-1.0.8-win-ia3 2.msi,以
及/research/projects/mpich2/documentation/files/mpich2-1.0.8-windevgu ide.pdf这是windows平台下的开发文档。

你也可以登录
/research/projects/mpich2/downloads/index.php?s=downloads,查看你需要的mpich版本,根据自己需要下载即可。

2、然后,将mpich2-1.0.8.tar.gz解压到/home/mpi/mpich2/src中,
执行下列命令:cd /home/mpi/mpich2/src
./configure -prefix=/home/mpi/mpich2(配置安装位置为/home/mpi/mpich2)
如果没有问题,再运行下面
make
make install
稍等就大功造成了。

3、修改机器的~/.bash_profile(Ubuntu修改~/.bashrc)文件,在最后加上下面的语句export MPI_ROOT=/home/mpi/mpich2
export PATH=$MPI_ROOT/bin:$PATH
export MANPATH=$MPI_ROOT/man:$MANPATH
Netcdf的Ftp下载地址:。

相关文档
最新文档