AWS(Amazon Web Services)のEC2(Elastic Compute Cloud)上で、フリーのLinuxディストリビューションの一つであるCentOS 6を経済学における科学技術計算に使用する。Matlab+gfortran(mex)、Intel Fortranを主に使用。そのための環境構築に関するメモ。
######ユーザ設定
AMIはAWS Marketplaceで
CentOS 6 (x86_64) - with Updates HVM
を選択。インスタンスタイプはとりあえずt2.micro
にしておく(後で必要に応じて高スペックのインスタンスを使用する)
一般ユーザの作成、sudoers権限を付与。
Matlabをactivateする際の登録ユーザでないとMatlabを起動できない。
# useradd takeki
# passwd takeki
# usermod -G wheel takeki
/etc/sudoers
ファイルの以下の行をコメントアウト。
## Allows people in group wheel to run all commands
# %wheel ALL=(ALL) ALL
## Same thing without a password
%wheel ALL=(ALL) NOPASSWD: ALL
######VNCの設定
サーバ側は基本的にこの記事の内容に従って作業
http://dev.classmethod.jp/cloud/ec2-gui-by-vnc/
CentOS7の場合は
http://qiita.com/tanuki-project/items/2496339d204b9646f36c
結構違う。。あと```
$ sudo yum -y groupinstall "Server with GUI"
クライアントはMacbookで、ターミナルとFinder(移動>サーバへ接続)でssh+port forwardingでアクセス
クライアントで
$ ssh -i my-key.pem centos@54.199.xxx.xxx -L 1234:localhost:5901
ユーザ`centos`でログイン後、`su takeki`でユーザ切り替え
(最初から`takeki`でログインするにはssh鍵設定するか、`/etc/ssh/sshd_config`を書き換える)
http://qiita.com/gotohiro55/items/36a22516de2b381b3c6e
######Matlabのインストール
rootでGUIのインストーラーを表示させるには
$ xhost +local:root
Matlabを起動後、`mex -setup fortran`を叩いておく。
mex -setup fortran
MEX configured to use 'gfortran' for FORTRAN language compilation.
Warning: The MATLAB C and Fortran API has changed to support MATLAB
variables with more than 2^32-1 elements. In the near future
you will be required to update your code to utilize the
new API. You can find more information about this at:
http://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html.
######Dynareのインストール
Source codeをhttp://www.dynare.org からダウンロード。`gcc`, `g++`, `boost-devel`をyumでインストール
`matio`はpuias_computational repositoryからインストール
この記事に従ってレポジトリを追加。
https://gist.github.com/nico4/9616638
configureのオプションはこんな感じ
$ ./configure --with-matlab=/usr/local/MATLAB/R2016a MATLAB_VERSION=8.7 --enable-openmp CFLAGS=-O3 CXXFLAGS=-O3 --disable-octave
make, make installする。デフォルトではインストール先は`/usr/local/lib/dynare`
######HDDの容量が足りなくなった
基本的にこの記事の内容に従って作業
http://qiita.com/tiida26/items/7761db891cf7cd05d6d2