各種ソフトウェアのビルド

  • 履歴
    • 2013/04/11 荻原弘尭

Dennou Debian パッケージのインストール

  • カギの追加

    # apt-key adv --keyserver keyring.debian.org --recv 891D7E07
  • /etc/apt/sources.list の追加

    deb http://www.gfd-dennou.org/library/cc-env/Linux/debian-dennou wheezy main
    deb-src http://www.gfd-dennou.org/library/cc-env/Linux/debian-dennou wheezy main
    #deb ftp://www.gfd-dennou.org/library/cc-env/Linux/debian-dennou wheezy/
    #deb-src ftp://www.gfd-dennou.org/library/cc-env/Linux/debian-dennou wheezy/
  • update

    # apt-get update
    # apt-get upgrade

single CPU 版

NetCDF のインストール

  • 公式ページから netcdf-3.6.3の srcを取得し, 展開する

    $ wget http://www.unidata.ucar.edu/downloads/netcdf/ftp/netcdf-3.6.3.tar.gz
    $ tar zxvf netcdf-3.6.3.tar.gz
    $ cd netcdf-3.6.3
  • 環境変数の設定

    $ export CC=pgcc FC=pgfortran F90=pgfortran FFLAGS=-fast F90FLAGS=-fast CPPFLAGS=-DpgiFortran
  • ビルド

    $ ./configure --prefix=/usr/local/netcdf-pgi --disable-cxx
    $ make
    $ make check
    # make install
  • tool の置き換え

    # rm /usr/bin/ncdump
    # rm /usr/bin/ncgen
    # cd /usr/bin
    # ln -s /usr/local/netcdf-pgi/bin/ncdump .
    # ln -s /usr/local/netcdf-pgi/bin/ncgen .

gtool5 (single CPU 版) のインストール

  • 公式ページから ispack の 最新版を取得し, 展開する(最新版は gtool5-20101228-1 2013/04/11 現在)

    $ wget http://www.gfd-dennou.org/library/gtool/gtool5/gtool5_current.tgz
    $ tar zxvf gtool5_current.tgz
    $ cd gtool5-20101228-1
  • 環境変数の設定

    $ export FC=pgfortran SYSFFLAGS=-fast
  • ビルド

    $ ./configure --prefix=/usr/local/gtool5-pgi --with-netcdf=/usr/local/netcdf-pgi/lib/libnetcdf.a
    $ make 
    $ make test
    
    **** All Tests were Successful ****
    
    # make install
  • tool の置き換え

    # cd /usr/bin
    # ln -s /usr/local/gtool5-pgi/bin/gt5frt .
    # ln -s /usr/local/gtool5-pgi/bin/gt5config .

ispack (single CPU 版) のインストール

  • 公式ページから gtool5 の 最新版を取得し, 展開する(最新版は ispack-1.0.0 2013/04/11 現在)

    $ wget http://www.gfd-dennou.org/library/ispack/ispack-1.0.0.tar.gz
    $ tar zxvf ispack-1.0.0.tar.gz
    $ cd ispack-1.0.0
  • README に従い Mkinclude を書きかえる

    $ vim ./Mkinclude
    
    DIRS = appack bspack ftpack tdpack snpack sopack sppack \
           flpack fepack fhpack c2pack p2pack p3pack dkpack \
           u2pack pzpack ujpack sjpack \
           p3pack-mpi snpack-mpi sppack-mpi sopack-mpi sjpack-mpi
    LIBNAME         = libisp
    DESTDIR         = .
    STATICLIB       = $(DESTDIR)/$(LIBNAME).a
    SHELL           = /bin/sh
    MAKE            = make
    FC              = pgfortran
    FFLAGS          = -fast
    #FC             = ifort
    #FFLAGS         = -xAVX -openmp
    MPIFC           = mpif90
    MPIFFLAGS       = -fast
    #MPIFC          = mpiifort
    #MPIFFLAGS      = -xAVX -openmp
    CC              = pgcc
    CFLAGS          = -fast
    DCLFRT          = dclfrt
    AR              = ar
    ARFLAGS         = vru
    RM              = rm -f
    CP              = cp
    CPP             = cpp
    CPPFLAGS        = -DDIRECT -DIEEE -DASCII -DLEN
    AS              = as
    MV              = mv -f
    RANLIB          = ranlib
    CAT             = cat
    #SSE            = fort
    #SSE            = sse32
    #SSE            = sse64
    SSE             = avx
    NVCC            = nvcc
    NVCFLAGS        = -arch=sm_20 -O3
  • ビルド

    $ make 
  • library の設置

    # cd /usr/local
    # mkdir ./ispack
    # cd ./ispack
    # mkdir ./lib
    # cd ./lib
    # cp ~/ispack-1.0.0/libisp.a ./  

spmodel のインストール

  • 公式ページから spmodel の 最新版を取得し, 展開する(最新版は spml-0.7.1 2013/04/11 現在)

    $ wget http://www.gfd-dennou.org/library/spmodel/spml_current.tar.gz
    $ tar zxvf spml_current.tgz
    $ cd spml-0.7.1
  • 環境変数の設定

    $ export FC=pgfortran SYSFFLAGS=-fast
  • ビルド

    $ ./configure --with-netcdf=/usr/local/netcdf-pgi/lib/libnetcdf.a \
      --with-gtool5=/usr/local/gtool5-pgi/lib/libgtool5.a \
      --with-ispack=/usr/local/ispack/lib/libisp.a \
      --prefix=/usr/local/spml-pgi
    $ make 
    # make install
  • tool を置く

    # cd /usr/bin
    # ln -s /usr/local/spml-pgi/bin/spmfrt .
    # ln -s /usr/local/spml-pgi/bin/spmconfig .

MPI 版

NetCDF (MPI 版)のインストール

  • single CPU 版のインストールのときのディレクトリへ移動

    $ cd netcdf-3.6.3
  • 環境変数の設定

    $ export CC=mpicc CXX=mpicxx FC=mpif90 F90=mpif90 FFLAGS=-fast F90FLAGS=-fast CPPFLAGS=-DpgiFortran
  • ビルド

    $ ./configure --prefix=/usr/local/netcdf-mpi
    $ make
    $ make check
    # make install

gtool5 (MPI 版)

  • single CPU 版で持ってきたソースを使用する

    $ cd gtool5-20101228-1
  • 環境変数の設定

    $ export FC=mpif90 SYSFFLAGS=-fast
  • ビルド

    $ ./configure --prefix=/usr/local/gtool5-mpi --with-netcdf=/usr/local/netcdf-mpi/lib/libnetcdf.a --with-mpiexec=/work00/mpich2/bin/mpiexec
    $ make
    $ make test
    
    **** All Tests were Successful ****
    
    # make install
  • tool の置き換え

    # cd /usr/bin
    # ln -s /usr/local/gtool5-pgi/bin/gt5frt.mpi .
    # ln -s /usr/local/gtool5-pgi/bin/gt5config.mpi .

ispack (MPI 版) のインストール

  • single CPU 版で持ってきたソースを使用する

    $ cd ispack-1.0.0
  • README に従い Mkinclude を書きかえる

    $ vim ./Mkinclude
    
    DIRS = appack bspack ftpack tdpack snpack sopack sppack \
           flpack fepack fhpack c2pack p2pack p3pack dkpack \
           u2pack pzpack ujpack sjpack \
           p3pack-mpi snpack-mpi sppack-mpi sopack-mpi sjpack-mpi
    LIBNAME         = libisp
    DESTDIR         = .
    STATICLIB       = $(DESTDIR)/$(LIBNAME).a
    SHELL           = /bin/sh
    MAKE            = make
    FC              = mpif90
    FFLAGS          = -fast
    #FC             = ifort
    #FFLAGS         = -xAVX -openmp
    MPIFC           = mpif90
    MPIFFLAGS       = -fast
    #MPIFC          = mpiifort
    #MPIFFLAGS      = -xAVX -openmp
    CC              = mpicc
    CFLAGS          = -fast
    DCLFRT          = dclfrt
    AR              = ar
    ARFLAGS         = vru
    RM              = rm -f
    CP              = cp
    CPP             = cpp
    CPPFLAGS        = -DDIRECT -DIEEE -DASCII -DLEN
    AS              = as
    MV              = mv -f
    RANLIB          = ranlib
    CAT             = cat
    #SSE            = fort
    #SSE            = sse32
    #SSE            = sse64
    SSE             = avx
    NVCC            = nvcc
    NVCFLAGS        = -arch=sm_20 -O3
  • ビルド

    $ make 
  • library の設置

    # cd /usr/local
    # mkdir ./ispack-mpi
    # cd ./ispack-mpi
    # mkdir ./lib
    # cd ./lib
    # cp ~/ispack-1.0.0/libisp.a ./  

spmodel のインストール

  • single CPU 版のインストールのときのディレクトリへ移動

    $ cd spml-0.7.1
  • 環境変数の設定

    $ export FC=mpif90 SYSFFLAGS=-fast
  • ビルド

    $ ./configure --with-netcdf=/usr/local/netcdf-mpi/lib/libnetcdf.a \
      --with-gtool5=/usr/local/gtool5-mpi/lib/libgtool5.a \
      --with-ispack=/usr/local/ispack-mpi/lib/libisp.a \
      --with-mpifc=/work00/mpich2/bin/mpif90 \
      --prefix=/usr/local/spml-mpi
    $ make 
    # make install
  • tool を置く

    # cd /usr/bin
    # ln -s /usr/local/spml-pgi/bin/spmfrt .
    # ln -s /usr/local/spml-pgi/bin/spmconfig .