Contents
基本設定
まずは更新
$ sudo apt-get update
$ sudo apt-get upgrade
適当にインストール
$ sudo apt-get -y install vim
$ sudo apt-get -y install grads
$ sudo apt-get -y install gnuplot
$ sudo apt-get -y install g++
$ sudo apt-get -y install emacs
$ sudo apt-get -y install gfortran
$ sudo apt-get -y install cvs
$ sudo apt-get -y install openssh-server
$ sudo apt-get -y install git
$ sudo apt-get -y install trash-cli
ssh の設定
$ ssh-keygen -t rsa
$ cd .ssh
$ cat id_rsa.pub >> authorized_keys
$ chmod 600 authorized_keys
$ scp id_rsa.pub [リモート・サーバ]
$ ssh [リモート・サーバ]
masatano@[リモート・サーバ]$ cat id_rsa.pub >> ~/.ssh/authorized_keys
masatano@[リモート・サーバ]$ exit
MPICH
下記のサイトで配布している。
ftp://ftp.mcs.anl.gov/pub/mpi/mpich-1.2.7p1.tar.gz
"mpich1" をDL。(mpich2 はうまく動かなかった。たぶん設定ミスだけど。
# DLしたフォルダを解凍、フォルダ内へ
$ ./configure --prefix=/export/mpich-1.2.7p1
$ make
# make install
# 環境変数を~/.bashrc に追記する。
$ export FC=ifort
$ export F77=ifort
$ export FCFLAGS=-fast
$ export CC=icc
$ export CXX=icpc
$ MPIDIR=/export/mpich-1.2.7p1
$ export PATH=$MPIDIR/bin:$PATH
$ export LD_LIBRARY_PATH=$MPIDIR/lib:$LD_LIBRARY_PATH
$ export MANPATH=$MPIDIR/share/man:$MANPATH
# mpich1 の設定および確認
# (重要)下記のコマンドを実行し、パスを確認する。
# 特に、mpirun, mpif90 などのフォルダが同じかどうかを確認。
# この設定が間違っている場合、うまく作動しない。
$ which mpif90
/export/mpich-1.2.7p1/bin/mpif90
$ which mpirun
/export/mpich-1.2.7p1/bin/mpifrun
# 「/export/share/machine.LINUX」を開き、使用するノードやCPU数を記入する。
$ sudo vim /export/shape/machine.LINUX
hostname1:4
hostname2:4
hostname3:2
mpich2 のインストール
mpich2 のサイトからソースをDL
(http://www.mcs.anl.gov/research/projects/mpich2/)
# /etc/profile に下記の内容を書き込む(./configure)
$ FC=ifortexport
$ F77=/opt/intel/bin/ifort
$ export FCFLAGS=-fast
$export CXX=/opt/intel/bin/icpc
# 下記のコマンドを実行
$ unset F90
$ unset F90FLAGS
$ ./configure --prefix=/export/mpich --enable-debug
$ make
$ make install
# mpich の場所を確認して、絶対パスが帰ってきたならば成功
$ which mpif90
/export/mpich/bin/mpif90
# 最終的に、mpich2 は使用していないので、間違いがあるかも。。。。。
# mpich2 の設定
# hostname の確認 (hostname か uname -a で確認可能)
# (追記) hostnamehostname がきちんと設定されていないと、うまく走ってくれない。
# /etc/hosts を確認して、合っているかどうかを確認する。(2行目)
127.0.0.1 localhost
127.0.1.1 kono.pc.no.namae
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
# hostname を変更する場合は、下記を参照。
# hostname の変更
# root になって、hostname でホスト名の確認。
# その後、hostname (新ホスト名)で一時的に変更。
$ hostname
# ホスト関係のファイルを書き換える。
$ vim /etc/hosts
$ vim /etc/hostname
openmpi のインストールと設定
まずは、インストール。これは問題なくできた。
$ wget openmpi-1.2.6.tar.gz
$ tar zxvf openmpi-1.2.6.tar.gz
$ cd openmpi-1.2.6
$ sudo ./configure --prefix=/export/openmpi-1.2.6_intel CC=icc CXX=icpc F77=ifort FC=ifort
$ sudo make
$ sudo make install
次に、環境設定。やるだけで一応動く。
先に, rsh の設定をやった方が良い。
$ vim ~/.bashrc
# (次を追加......)
MPI_DIR=/export/openmpi-1.2.6_intel
export PATH=$MPI_DIR/bin:$PATH
export LD_LIBRARY_PATH=$MPI_DIR/lib:$LD_LIBRARY_PATH
export MANPATH=$MPI_DIR/share/man:$MANPATH
$ sudo vim /etc/ld.so.conf.d/openmpi.conf
/export/openmpi-1.2.6_intel/lib
$ sudo vim ${HOME_OPENMPI}/etc/openmpi-default-hostfile
host00 cpu=4
host01 cpu=8
$ sudo vim /etc/ld.so.conf.d/openmpi.conf # なければ新規作成
${HOME_OPENMPI}/lib
$ sudo ldconfig # 共有ライブラリの更新
参考URL
http://d.hatena.ne.jp/cmphys/20120628/1340900709
http://www.cs.hiroshima-u.ac.jp/~yasuaki/dokuwiki/mpi:open_mpi
http://nitrogen14.blog51.fc2.com/blog-entry-33.html
http://jirojaco.cocolog-nifty.com/jaco/2008/12/linuxrsh-7492.html
rsh の設定
インストール
$ sudo apt-get install rsh-sever
$ sudo apt-get install xinetd
$ sudo apt-get install sysv-rc-conf
設定
$ vim ~/.rhosts
localhost.localdomain
localhost
host00 user_name1
host00 user_name2
.....
$ chmod 600 ~/.rhosts # 自分以外読み書き不可に
$ sudo vim /etc/hosts.equiv # きっちり設定していないと
hostname
# rsh の起動
$ sudo sysv-rc-conf rsh on
$ sudo sysv-rc-conf rlogin on
$ sudo service xinetd restart
動作チェック
$ rsh hostname ls
(hostname で ls を実行した結果が返される)
*もし、"rsh hostname" で login できるが、"rsh hostname ls" ができない場合は、設定関係のファイルがおかしい可能性が高い。
HDF5/NetCDF4
NetCDF4のインストール(前準備)
hdf のインストール
入手先はこちら:https://support.hdfgroup.org/ftp/HDF5/current/src/
※.zipは改行コードを修正する必要があるので、tar.gzを入手したほうがよ
$ ./configure --prefix=/usr/local/hdf5-x.y.z --enable-shared --enable-hl
$ make
$ sudo make install
NetCDF4のインストール
NetCDF4 を入手する。ftp://ftp.unidata.ucar.edu/pub/netcdf/
$ ./confgure --prefix=/usr/local/netcdf4-x.y.z LDFLAGS=-L/usr/local/hdf5-x.y.z/lib CPPFLAGS=-I/usr/local/hdf5-x.y.z/include --disable-dap --enable-shared --disable-netcdf-4
$ make
$ make check
$ sudo make install
--disable-netcdf-4 としないと、configureできなかった。(原因は調べてない。)
netcdf4-python
$ export HDF5_DIR=/usr/local/hdf-5.1.8.10
$ export HDF5_LIBDIR=/usr/local/hdf-5.1.8.10/lib
$ export HDF5_INCDIR=/usr/local/hdf-5.1.8.10/include
$ export NETCDF4_DIR=/usr/local/netcdf-4.1.3
$ export NETCDF4_LIBDIR=/usr/local/netcdf-4.1.3/lib
$ export NETCDF4_INCDIR=/usr/local/netcdf-4.1.3/include
$ sudo -E python setup.py install
参考になったサイト:http://seesaawiki.jp/met-python/d/%B3%AB%C8%AF%B4%C4%B6%AD#content_6_15_4
LAPACK
LAPACK のインストール・設定
http://www.netlib.org/lapack/ から最新版をDL
今回、導入したのは lapack-3.4.1。その後、解凍
$ tar xzvf lapack-3.4.1.tgz
$ cd lapack-3.4.1
$ cp INSTALL/make.inc.ifort ./make.inc
# make.inc を編集
$ vim make.inc
FORTRAN = ifort
OPTS = -O3
DRVOPTS = $(OPTS)
NOOPT = -O0
LOADER = ifort
LOADOPTS = -L /opt/intel/lib/intel64
# (32bit の場合、 LOADOPTS= -L /opt/intel/lib/ia32)
# コンパイル
$ make blaslib
$ make lapacklib
$ make tmglib
# うまくコンパイルできれば、liblapack.a librefblas.a libtmglib.a が作成される。
# 作成されたファイルをライブラリにコピー
$ ls
liblapack.a librefblas.a libtmglib.a
$ sudo cp *.a /usr/local/lib
($ mkdir -p ~/lib)
$ cp *.a ~/lib
# LAPACK95 のインストール・設定
# http://www.netlib.org/lapack95/ から lapack95.tgz をダウンロード
# 解凍。適当にファイルを操作、ディレクトリの作成を行う
$ tar xvzf lapack95.tgz
$ cd LAPACK95
$ mv SRC/makefile SRC/Makefile
$ mkdir lapack95_modules
# make.inc の編集
$ vim make.inc
FC = ifort
FC1 = ifort
OPTS0 = -O3
MODLIB = -I./../lapack95_modules
OPTS1 = -c $(OPTS0)
OPTS3 = $(OPTS1) $(MODLIB)
OPTL = -o
OPTLIB = -L /opt/intel/lib/intel64
LAPACK_PATH = ~/lib
LAPACK95 = ../lapack95.a
# (LAPACK をコンパイルした際に作成されたファイルと同じ名前にする。)
# LAPACK77 = $(LAPACK_PATH)/liblapack.a
TMG77 = $(LAPACK_PATH)/libtmglib.a
BLAS = $(LAPACK_PATH)/librefblas.a
# コンパイル
$ cd SRC
$ make single_double_complex_dcomplex
# ライブラリのコピー
$ cd ../
$ cp lapack95.a ~/lib
$ cp lapack95_modules/* ~/lib
$ ln -s ~/lib/lapack95.a ~/lib/liblapack95.a
# 参考URL: http://www.obihiro.ac.jp/~suzukim/masuda/ifc_lapack31.html
# 自作プログラムのコンパイル
# LAPACK, LAPACK95 のインストールが終わり、
#liblapack95.a, liblapack.a, librefblas が ~/lib 下にあるか確認。
# LAPACK, LAPACK95 を含めた自作プログラム(test.f90)のコンパイル方法
# (aファイルの順番も大事)
(その1) $ ifort test.f90 ~/lib/liblapack95.a ~/liblapack.a ~/librefblas
(その2) $ ifort test.f90 -L ~/lib -llapack95 -llapack -lblas
自作module も組み込みたい場合は、下記のようにする。
(順番が異なると、ld の errror が表示される。)
$ ifort test.f90 *.o -L ~/lib -llapack95 -llapack -lblas
参考URL (http://www.hakodate-ct.ac.jp/~tokai/tokai/gtkmm/etc/p1.htm)