Ubuntu 11.04 (64bit)

  ここでは、Ubuntu 11.04 x86_64 (64 bit版)をインストールし、第一原理計算コードをセットアップするまでを解説する。(11.10はrshの設定が行い難いので研究に余裕があるときに調査する)
※ 初期のIntel @ Parallel Studio 2011 SP1 ではWIEN2kの計算が途中でクラッシュするなどの事態が起こることが判明した。これはx86_64(64bit)版 Ubuntu 10.04, Ubuntu10.10だけでなくCentOS6でも確認できた。
------------------------------------------------------------------------------
PCの購入
(※ Gigabitタイプ以上のネットワークカードが付けられると良い。オンボードでもGigabitになっていることもあるので、10Gigabit以上でなければ特にネットワークカードを購入することもない場合もある)
(※ http://classic.chem.msu.su/gran/gamess/index.html , http://www.wien2k.at/reg_user/benchmark/ で調査してみると良い)

PCの構成(今回はTSUKUMOで購入。調達課の人にある程度のスペックを伝えたら、下記の構成で見積もりを送って来てくれた)
※ SSDにOSを入れると、HDDは認識されていても使える状況になっていないことがある。注意して欲しい。外付けのHDDを購入して、USBで接続するのも手だろう。対処方法は「System」→「Administration」→「Disk Utility」にて、HDDを選択し、「Format Drive」を押す。ファイルのタイプはExt4で良いだろう。
※ SSDは書き込み性能が低下することが知られている(■特集1 PC高速化全テクニック Part1 タダから始める高速化 (日経WinPC, 2011/09号, 42〜43ページ掲載))ため、計算で吐き出される結果はHDDに格納するようにすると良いだろう。
※ WIEN2kの場合は、./userconfig_lapwの時に計算結果を格納するファイル先を指定するので、そこをHDDに指定すればよい。
※ Linux OS や Intel Compiler のヴァージョンが変わることによるリスクを考えると、初学者の場合はSSDよりもHDDの方が良いかもしれない。まだまだSSDは高いので、インストールに手間取った(何度も書き込み・消去を繰り返した)私としてはHDDを選択する方が賢明だったかもしれない。
1. OS: 無し
  (事務用{Igorを用いた解析用のPC}に転用するときにLANカードやメモリと一緒にOSを購入すれば足りる。理論計算ではLinux OS を用いるので必要無し)
2. CPU: Intel Core i7-2600K
  (一番気を使う。日経のWinPCやベンチマークテストの結果などを元に選定すればよい)
3. オプションCPUクーラー: Thermaltake製 ヒートパイプ式CPUクーラー
4. マザーボード: Intel H67 Express チップセット Micro ATX マザーボード
5. メモリ: DDR3-1333 DDR3 SDRAM 4GB × 2枚
  (4枚にして貰うの忘れた。後で同じメモリを2枚購入し、16GBになるように増設した)
6. 追加ビデオカード: NVIDIA GeForce GTX 560 Ti / 1024 MB
  (MSI製 N560GTX-Ti Twin Frozr U OC) (GPUでの理論計算は対応ソフトが少ないので、今回も選定には気を使っていない)
7. ハードディスク: SSD 120GB MLC
  (intel製 510 Series / SATA 6 Gbps/ マウンタ必須)
8. パーティション分割: パーティション分割無し
9. 追加ハードディスク: 1TB 7200 rpm シリアルATA3 ハードディスク WD10EALX (SATA 6 Gbps)
10. 光学ドライブ: DL対応DVDスーパーマルチ
  (LG電子製 GH24NS70 / 書き込みソフト付き / SATA接続)
11. 3.5 ドライブベイ: 3.5インチベイ内蔵型カードリーダー(59in1 / CR-101)
  (使用しない。余計な機器が付いていると故障したときに対処に困るので余り嬉しくない)
12. PCケース: eX.computerオリジナル MicroATXスリムタワーケースラック / EX1-7302T-S12F
13. ケースオプション: 2.5インチSSD用マウンター / 3.5シャドウベイ用
14. 電源ユニット: [80PLUS BRONS認証] Antec製 EA-650-GREEN (定格650W)
  (低消費電力ということで購入)
15. 入力機器: 3RSET/YDKBUU02BK-M2055R
------------------------------------------------------------------------------
新たに購入した。備品として扱うには耐用年数や性能低下が心配だったので、10万円未満に収めた。
1. OS: 無し
(事務用{Igorを用いた解析用のPC}に転用するときにLANカードやメモリと一緒にOSを購入すれば足りる。理論計算ではLinux OS を用いるので必要無し)
2. CPU: Intel Core i7-2700K
(一番気を使う。日経のWinPCやベンチマークテストの結果などを元に選定すればよい)
3. オプションCPUクーラー: ZALMAN製 ヒートパイプ式CPUクーラー
4. マザーボード: Intel Z68 Express チップセット ATX マザーボード(ASUS製 P8Z68-V)
5. メモリ: DDR3-1333 DDR3 SDRAM 4GB × 2枚 (SMD-4G68NG-13H)
(他のPCでも使えるように同じメモリを2枚購入し、16GBになるように増設した。今回購入したボードでは、実は32GBまで搭載できるのではないかと思っているのだが、業者に聞く余裕が時間的に無かったので後で16GBにする。SMD-8G68HP-13H-D:メモリを購入する場合に、ノートPCの商品番号と間違えないように注意!)
6. 追加ビデオカード: オンボードVGA(D-sub15/DVI-D/HDMI)
(GPUでの理論計算は対応ソフトが少ないので、今回も選定には気を使っていない)
7. ハードディスク: SSD 80GB MLC
(intel製 320 Series / SATA 6 Gbps/ マウンタ必須)
8. パーティション分割: パーティション分割無し
9. 追加ハードディスク: Western Digital 製 WD10EARX (1TB/SerialATAU)
10. 光学ドライブ: DL対応DVDスーパーマルチ
(LG電子製 GH24NS70 / 書き込みソフト付き / SATA接続)
11. 3.5 ドライブベイ: 3.5インチベイ内蔵型カードリーダー(59in1 / CR-101)
(使用しない。余計な機器が付いていると故障したときに対処に困るので余り嬉しくない)
12. PCケース: eX.computerオリジナル ATXスリムタワーケース / EX1/598TA/防塵フィルター搭載(上で購入したものよりも正面から見た幅は変わらないが、高さが25%増加、奥行きも25%増加しており、大きい印象を受けた。場所の問題はあるが、メモリの増設はし易い)
13. ケースオプション: 2.5インチSSD用マウンター / 3.5シャドウベイ用
14. 電源ユニット: [80PLUS BRONS認証] Topower製 TOP-650D-B (定格650W)
(低消費電力ということで購入)
15. 入力機器: 無し(RealVNCの利用でマウスとキーボードは余っているので購入していない)
※ CPUは上で購入したものよりも計算速度は速いはずなので、問題はSSDとHDDの性能がどうかが心配。しかし、10万円未満でこれだけの性能のPCが購入できる時代になったことに感謝。海外での労働者の賃金などの上昇で、円高の影響も薄れているとの話も聞くが、それでも円高の影響があるのだろうか?
※ お上の方には、研究者が購入するPCを15〜20万円程度まで消耗品扱いして頂けるようにして頂けると嬉しいです。3年程度すると陳腐化が激しいこの業界なので、購入したPCが10〜20年の間、最新機器として扱えるというのであればよいのですが……。大型計算機でも約4年に1度は設備を更新するというところもあるので、備品扱いする種類と金額をさらに合理的に細分化して頂けますと、緊急の場合に、研究結果をよりスムーズに進められるので嬉しいです。(現在はSSDやGPUがまだ高い……。これが安くなれば……)
------------------------------------------------------------------------------
並列計算のためのハブとケーブル
1. Giga スイッチングハブ。BUFFALO製の5ポートタイプを購入してみた。最新鋭のLANカードでないと10G BASEにならないので、広く普及していて最速の1000Mbps(1G BASE)が対応可能なハブにした。
2. LANケーブルはカテゴリー5e以後が良いとのこと。伝送帯域のHzが大きくノイズ対策が出来ている方が良さそうなので、Cat6a以後のものを選択。ここでは、奮発してCAT7を購入してみた。机の横にハブを置いて、PCを机の下や上に数台並べる場合には、ハブの位置を調節することでケーブルの長さが0.5mでも対処できたが、1m以上程度でも良かった気がした。
------------------------------------------------------------------------------
Ubuntu 11.04 のインストール
1) google で 「riken linux」と入力して検索すると、下記のHPが得られる。
  http://ftp.riken.go.jp/Linux/
2) 「ubuntu-iso/」→「CDs-Ubuntu/」→「Ubuntu 11.04 (Natty Narwhal) 」→「ubuntu-11.04-desktop-amd64.iso」
3) 「ubuntu-11.04-desktop-amd64.iso」をirvine1_3_0などでダウンロードする。
4) Deep Burner (http://www.forest.impress.co.jp/lib/sys/hardcust/cddvdburn/deepburner.html)などのISO形式で書き込みが可能なライティングソフトを用いて、ISO形式のOSインストールCDを作成する。
------------------------------------------------------------------------------
Ubuntu 11.04 の終了と再起動
1) 「System」→「Shut Down...」
2) 「Shut Down」を選択すれば終了。「Restart」を選択すれば再起動される。
------------------------------------------------------------------------------
Classic表示にしたい場合は下記のHPを参照。
http://tattu1902.blog136.fc2.com/blog-entry-36.html
------------------------------------------------------------------------------
第一原理計算に必要なソフトのダウンロードT(「Terminal」上)
1) 「Applications」→「Accessories」→「Terminal」
2) sudo apt-get install csh
3) 以後、この「Terminal」で、下記のようにコマンドを入力していく。

◆ gfortran の場合(業者様向け & 学生様向け)
1) sudo apt-get install gfortran

◆ Intel Compiler をインストールする場合(学生様向け)
1) sudo apt-get install g++ rpm ia32-libs
2) http://packages.debian.org/stable/base/libstdc++5 から i386とamd64をダウンロード
3) cd Downloads
4) sudo dpkg -i libstdc++5_3.3.6-20_amd64.deb
5) sudo dpkg -x libstdc++5_3.3.6-20_i386.deb ./
6) cd /usr/lib
7) sudo cp libstdc++.so.5.0.7 /usr/lib32
8) cd /usr/lib32
9) sudo ln -s libstdc++.so.5.0.7 libstdc++.so.5
以下はDownloadsのpermissionが変わってしまって使えなくなるので、使用できるようにする方法。
10) cd $home
11) sudo chmod a+rw Downloads
References: http://tech.ckme.co.jp/icc.shtml
直接命令によるパーミッションの設定: http://homepage3.nifty.com/nasunu-i/LinuxBeginner/Permission.htm
現在調査中であるが、最新のIntel Compilerによりクラッシュや不具合が起こる可能性がある。ここでは十分に枯れた11.0をインストールする。
※ 上手くダウンロードできない場合は、Download に錠前の様なマークが付いているかをチェックする。それが付いている場合は、上記の11)を行えばその記号を消せる。

Compiler : l_cprof_p_11.0.084_intel64
(Fortran : ifort, C : gcc )

in /home/.bashrc,
source /opt/intel/Compiler/11.0/084/bin/ifortvars.sh intel64
source /opt/intel/Compiler/11.0/084/mkl/tools/environment/mklvarsem64t.sh intel64

OpenMP
1) tar -xvf WIEN2k_11.tar
2) gunzip *.gz
3) chmod +x ./expand_lapw
4) ./expand_lapw
5) ./siteconfig_lapw
6) ヴァージョンに合わせてI, J, K, K1 を選択(ここでは12 のIを選択してみる)
7) ifort, icc を入力
8) Current settings:
  O Compiler options: -FR -mp1 -w -prec_div -pc80 -pad -align -DINTEL_VML -traceback -axSSE4.2,SSE4.1,SSSE3,SSE3
  L Linker Flags: $(FOPT) -L/opt/intel/Compiler/11.0/084/mkl/lib/em64t -pthread
  P Preprocessor flags '-DParallel'
  R R_LIB (LAPACK+BLAS): -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread -openmp
9) Shared Memory Architecture? (y/n): y
10) Do you have MPI and Scalapack installed and......(y/n): n
11) 16GBしか搭載できないので、余裕を見て、NMATMAX=27000、NUME=2700とした。
  計算式は以下の通り
  NMATMAX=√(15 700 000 000 /10)/√2=28017, NUME=NMATMAX/10=2800
12) ./userconfig_lapw
13) .bashrc を開いて、export OMP_NUM_THREADS= の後にスレッド数 を書き入れる。ここでは、export OMP_NUM_THREADS=4 とした。(あまり速度は上がらないが、後に export OMP_NUM_THREADS=8 とした)
14) bash
15) w2web

(上記までは確認済み。以下は32bit版での記述。64bit版は準備中)
------------------------------------------------------------------------------
第一原理計算に必要なソフトのダウンロードU(Compiler install)

◆ Intel Compiler をインストールする場合(学生様向け)
Intel Compiler
1) google で 「Non-commercial Intel」と入力して検索すると、下記のHPが得られる。
 http://software.intel.com/en-us/articles/non-commercial-software-development/
2) Accept を押して、必要事項を記入する。
3) Product for x86_64-bit development にチェックを入れて、Download Now を押す。(最新版で上手くいかない場合は、右下にあるversion の選択を 11.0 にすると良い)
4) 必要事項を記入したときのメールアドレスに添付されている ライセンスファイルをダウンロードして、「Places」→「Home folder」の中に置く。
5) 「Applications」→「System Tools」→「Terminal」 でコマンドを入力できるようにする
6) tar zxvf と入力後、「Downloads」のフォルダを開いて、ダウンロードしたファイルをマウスで左クリックしながら「Terminal」 へ入れる。その後に、Enterを押す。
7) 「Applications」→「System Tools」→「Terminal」
8) cd と入力後、「parallel_studio_xe_2011...」のファイルを左クリックしながら「Terminal」 へ入れる。
9) ./install.sh
10) 「2. Install as current user to limit access to user level* 」を選択。
11) 「Press "Enter" key to continue or "q" to quit: 」でEnterを入力。
12) 「1. Skip prerequisites [default] 」を選択。
13) 「space」 を押し続け、最後に 「accept」と入力してEnterを押す。
14) 「3. I want to activate either remotely, or by using a license file, or by using a
license manager」を選択。
15) 「2. Use a license file」 を選択。
16) 「Applications」→「System Tools」→「Terminal」 で新しく開いた「Terminal」の中に、ライセンスファイルを入れる。' 'の中をコピーする。
17) 前の「Terminal」に戻って、ペーストし、Enter を押す。
18) 「Press "Enter" key to continue:」でEnterを押す。
19) 「1. Start installation Now」を選択。
20) 「Would you like to overwrite this directory? ( Yes/No ) [ Yes ] :」でEnterを押す。
21) 「1. Skip prerequisites [default]」を選択。
22) 「Please type a selection or press "Enter" to accept default choice [q]:」でqを押す。
23) cd $home
24) emaces .bashrc にて最後の行に下記を書き入れる(user_nameのところが人により異なる)。
  export PATH=$PATH:/opt/intel/vtune_amplifier_xe_2011
  export PATH=$PATH:/opt/intel/inspector_xe_2011
  source /opt/intel/bin/compilervars.sh intel64
  ※ version 11.0 などでは、左欄のコンパイラの設定の Intel Fortran : を参考にすると良い。
25) bash にて変更を反映させる(再起動させてもよい)。
26) ifort -v にてFortran コンパイラの動作確認を兼ねてVersion情報を表示させる。
27) icc -v にてC コンパイラの動作確認を兼ねてVersion情報を表示させる。

------------------------------------------------------------------------------
第一原理計算に必要なライブラリの設定T(Parallel set up)
◇ gfortran の場合(業者様向け & 学生様向け)

MPICH
1) 「Applications」→「Ubuntu Software Center」で、右上にある検索の欄で、「MPICH」を入力して対応するソフトをインストール。
または、sudo apt-get install を用いてインストール。(左欄のandLinuxを参照)

MPICH2
1) 「Applications」→「Ubuntu Software Center」で、右上にある検索の欄で、「MPICH2」を入力して対応するソフトをインストール。
または、sudo apt-get install を用いてインストール。(左欄のandLinuxを参照)

OpenMPI
1) 「Applications」→「Ubuntu Software Center」で、右上にある検索の欄で、「OpenMPI」を入力して対応するソフトをインストール。
または、sudo apt-get install を用いてインストール。(左欄のandLinuxを参照)

LAM
1) 「Applications」→「Ubuntu Software Center」で、右上にある検索の欄で、「LAM」を入力して対応するソフトをインストール。
または、sudo apt-get install を用いてインストール。(左欄のandLinuxを参照)

PVM
1) 「Applications」→「Ubuntu Software Center」で、右上にある検索の欄で、「PVM」を入力して対応するソフトをインストール。
または、sudo apt-get install を用いてインストール。(左欄のandLinuxを参照)

◇ Intel Compiler をインストールする場合(学生様向け)
MPICH
1) googleで「mpich」と入力して検索する。下記のHPが得られる。
  http://www.mcs.anl.gov/research/projects/mpich2/
2) 「Downloads Page >>」に向かう。
3) 一番下にあるMPICH-1をクリックして、ダウンロードする。
4) tar zxvf と入力後、「Downloads」のフォルダを開いて、ダウンロードしたファイルをマウスで左クリックしながら「Terminal」 へ入れる。その後に、Enterを押す。
5) cd と入力後、「Downloads」のフォルダを開いて、ダウンロードしたファイルをマウスで左クリックしながら「Terminal」 へ入れる。その後に、Enterを押す。
6) ./configure -prefix=/usr/local/mpich -opt=-O2 -c++=icpc -cc=icc -fc=ifort -f90=ifort -f77=ifort --with-arch=LINUX
7) make
8) sudo make install
9) 各コンパイルでのコマンドは下記のようになる。
Fortran 77: /usr/local/mpich/bin/mpif77
Fortran 90: /usr/local/mpich/bin/mpif90
C : /usr/local/mpich/bin/mpicc
※ /usr/local/ で上手くいかない場合は、/home/ユーザー名/などにしてみる。

OpenMPI (インストール後は再起動すること!)
1) googleで「openmpi」と入力して検索する。下記のHPが得られる。
http://www.open-mpi.org/software/ompi/v1.4/
2) openmpi-1.4.3.tar.gz をダウンロードする。
3) tar zxvf openmpi-1.4.3.tar.gz
4) cd openmpi-1.4.3
5) ./configure -prefix=/usr/local/openmpi CXX=icpc CC=icc FC=ifort F90=ifort F77=ifort
6) make
7) sudo make all install
8) 各コンパイルでのコマンドは下記のようになる。
Fortran 77: /usr/local/openmpi/bin/mpif77
Fortran 90: /usr/local/openmpi/bin/mpif90
C : /usr/local/openmpi/bin/mpicc
C++ : /usr/local/openmpi/bin/mpicxx
※ /usr/local/ で上手くいかない場合は、/home/ユーザー名/などにしてみる。
------------------------------------------------------------------------------
並列計算を実行する前に必要なrshの設定
1) 「Applications」→「Ubuntu Software Center」
2) 右上にある検索の欄で、「rsh-server」を入力して対応するソフトを探す。
3) 下側にインストールするソフトの候補が現れるので、それをクリックして現れる「Install」を押してインストールする。
4) 右上にある検索の欄で、「rsh-client」「rsh-redone-client」を入力して、先と同様にインストールする。
5) rpm -qa rsh-server, rpm -qa xinetd
  rsh-server, xinetdがインストールされていることを確認する
6) sudo apt-get install sysv-rc-conf
7) sudo sysv-rc-conf rsh on
  ブート時に rsh を自動的に起動するように設定する
8) sudo sysv-rc-conf rlogin on
  ブート時にrloginを自動的に起動するように設定する
9) /sbin/service xinetd restart
  ブート時にxinetd を自動的に起動するように設定する
10) ホームディレクトリに .rhosts ファイルへ通信するマシン全てとlocalhost.localdomain を記述
  kwrite ~/.rhosts または emacs ~/.rhosts
  localhost.localdomain
  localhost
  host1
  host2
11) .rhosts のパーミッションを600にする。chmod 600 ~/.rhosts
12) rsh の動作確認
  rsh localhost.localdomain hostname
  rsh localhost hostname
上記の設定では、複数台のPCで動作しないので、下記のHPを参考にしながら、対策方法を探す。
/etc/pam.d/rsh /etc/pam.d/rlogin の編集をまず試してみるか?
もし、ファイアーウォールの設定を元に戻したければ、sudo ufw reset とすればよい。VNCは動作するようになる。
参考HP :
[1] http://mase.itc.nagoya-u.ac.jp/~hirano/pukiwiki/index.php?CentOS5%A4%C7rsh%A4%F2%CD%AD%B8%FA%A4%CB%A4%B9%A4%EB
[2] https://forums.ubuntulinux.jp/viewtopic.php?id=12631
[3] https://wiki.ubuntulinux.jp/UbuntuTips/DedicatedServer/Ufw
[4] http://static.s59.xrea.com/pukiwiki/index.php?Ubuntu%A4%C7%CE%CC%BB%D2%B2%BD%B3%D8%B7%D7%BB%BB%A4%F2%BB%CF%A4%E1%A4%EB(2)
[5] http://www.proton.jp/main/unix/rsh.html
------------------------------------------------------------------------------
hosts
localhost.localdomain cpu=2
localhost cpu=4
host1
host2
------------------------------------------------------------------------------
並列計算を実行する前に必要な .mpd.conf の設定
ホームフォルダでの設定 (PWscfで必要)
1) mpd &
2) cd $HOME
3) touch .mpd.conf
4) chmod 600 .mpd.conf
5) emacs .mpd.conf で下記を書き入れる。*****はPCにより異なると思う。
   MPD_SECRETWORD=*****
6) mpd &
------------------------------------------------------------------------------
第一原理計算に必要なライブラリの設定U(Library set up)
◆ gfortran の場合(業者様向け & 学生様向け)

A) 「Applications」→「Ubuntu Software Center」で、右上にある検索の欄で、下記の項目を入力して対応するソフトをインストール。
1) 「build-essential」
2) 「libblas-dev」
3) 「liblapack-dev」
4) 「fftw2」
5) 「fftw-dev」
6) 「libfftw3-3」
7) 「libfftw3-dev」

◇ 並列化
1) 「blacs」 ※ -test 付いたものはインストールしなくてよい
2) 「scalapack」 ※ -test 付いたものはインストールしなくてよい
B) 「Applications」→「Accessories」→「Terminal」
1) sudo apt-get install build-essential
2) sudo apt-get install libblas-dev
3) sudo apt-get install liblapack-dev
4) sudo apt-get install fftw2
5) sudo apt-get install fftw-dev
6) sudo apt-get install libfftw3-3
7) sudo apt-get install libfftw3-dev

◇ 並列化
1) sudo apt-get install libblacs-mpi1
2) sudo apt-get install libblacs-mpi-dev
3) sudo apt-get install libscalapack-mpi1
4) sudo apt-get install libscalapack-mpi-dev

PVM
1) sudo apt-get install blacs1-pvm
2) sudo apt-get install blacs-pvm-dev
3) sudo apt-get install libscalapack-pvm1
4) sudo apt-get install libscalapack-pvm-dev

最速の設定を目指す場合はGotoBLASやATLASでScalapackを作成する

FFT: 左欄の「ライブラリの設定」を参照
BLACS: 左欄の「ライブラリの設定」を参照
ScaLapack: 左欄の「ライブラリの設定」を参照

◆ Intel Compiler をインストールする場合(学生様向け)
◇ 並列化
FFT: 左欄の「ライブラリの設定」を参照
BLACS: 左欄の「ライブラリの設定」を参照
ScaLapack: 左欄の「ライブラリの設定」を参照

付録:MKL FFTW3(Phase のインストールマニュアルを参考)
1) cd opt/intel/Compiler/11.0/084/mkl/interfaces/fftw3xf
2) make libem64t
3) ライブラリファイルのlibfftw3xf_intel.a は /opt/intel/Compiler/11.0/084/mkl/lib/em64t にある。
※ 管理者権限が必要ないところにインストールすると上手く動作している。mkl を home にコピーしてコンパイルしてみるとよい。home に mkl をコピーした場合は、下記のようになる。
fftw3 (fftw2についてもほぼ同様に行える)
1) cd /home/mkl/interfaces/fftw3xf
2) make libem64t
2) cd /home/mkl/lib/em64t
3) sudo mv libfftw3xf_intel.a /opt/intel/Compiler/11.0/084/mkl/lib/em64t
以下、blas95 と lapack95 についても記述する。
blas95
1) cd /home/mkl/interfaces/blas95
2) make libem64t
2) cd /home/mkl/lib/em64t
3) sudo mv libmkl_blas95.a /opt/intel/Compiler/11.0/084/mkl/lib/em64t
4) sudo mv mkl95_blas.mod /opt/intel/Compiler/11.0/084/mkl/lib/em64t
5) sudo mv mkl77_blas.mod /opt/intel/Compiler/11.0/084/mkl/lib/em64t
lapack95
1) cd /home/mkl/interfaces/lapack95
2) make libem64t
2) cd /home/mkl/lib/em64t
3) sudo mv libmkl_lapack95.a /opt/intel/Compiler/11.0/084/mkl/lib/em64t
4) sudo mv mkl95_lapack.mod /opt/intel/Compiler/11.0/084/mkl/lib/em64t
5) sudo mv mkl77_lapack.mod /opt/intel/Compiler/11.0/084/mkl/lib/em64t
6) sudo mv mkl77_lapack1.mod /opt/intel/Compiler/11.0/084/mkl/lib/em64t
7) sudo mv mkl95_precision.mod /opt/intel/Compiler/11.0/084/mkl/lib/em64t

http://tsubame.gsic.titech.ac.jp/docs/guides/tsubame2/html/programming.html
------------------------------------------------------------------------------
並列計算を実行する前に必要なOpenMPに関する設定(Intel Compiler 利用の場合)
◆ OpenMPを使用する場合は .bashrc へ下記の入力が必要
export OMP_NUM_THREADS=8 (スレッド数を入力。左記の例では8スレッド)
export OMP_STACKSIZE=12M (Intel側からの推奨。動作しない場合は値を変えてみる)
※ 上記は再調査中。
------------------------------------------------------------------------------
※ ABINIT や PWscf などは 再度コンパイルする前に、 make clean を行う必要がある。
------------------------------------------------------------------------------
第一原理計算のセットアップ PWscf
( 最新版を確認したが、expresso-4.3.2 では --with-internal-fftw が無いので除く。エラーが出る場合は FFT_LIBS のオプションを用いてライブラリの場所を指定する)
◆ gfortran の場合(業者様向け & 学生様向け)
大規模計算用(調査中)
1) tar zxvf expresso-4.3.2.tar.gz
2) cd expresso-4.3.2
3) export CXX="g++ -m64"
    export CC="gcc -m64"
    export FC="gfortran -m64"
    export F77="gfortran -m64"
    export F90="gfortran -m64"
4) ./configure CXX=g++ CC=gcc FC=gfortran F77=gfortran F90=gfortran --with-internal-blas --with-internal-lapack FFT_LIBS="-L/usr/lib -lfftw3"
5) make all

◇ 並列化
MPICH2 version 1.2.1
1) tar zxvf expresso-4.3.2.tar.gz
2) cd expresso-4.3.2
3) ./configure MPIF90=/usr/local/openmpi/bin/mpif90 CXX=g++ CC=gcc FC=gfortran F77=gfortran F90=gfortran BLAS_LIBS="-L/usr/lib -lblas" LAPACK_LIBS="-L/usr/lib -llapack" FFT_LIBS="-L/usr/lib -lfftw3"
4) make all
実行方法
mpirun -machinefile /home/*/hosts -np 2 /home/*/espresso-4.3.2/bin/pw.x <atom.in> atom.out にて計算が成功する。

◇ 並列化
OpenMP(調査中)
1) tar zxvf expresso-4.3.2.tar.gz
2) cd expresso-4.3.2
3) ./configure CXX=g++ CC=gcc FC=gfortran F77=gfortran F90=gfortran FFLAGS="-O3 -g -em64"  CFLAGS="-O3 -em64" --enable-openmp --with-internal-blas --with-internal-lapack --with-internal-fftw
4) make all
実行方法
/usr/lib/openmpi/bin/mpirun -machinefile /home/*/hosts -np 2 /home/*/espresso-4.3.2/bin/pw.x <atom.in> atom.out

◇ 並列化
OpenMPI
1) tar zxvf expresso-4.3.2.tar.gz
2) cd expresso-4.3.2
3) ./configure MPIF90=/usr/local/openmpi/bin/mpif90 CXX=g++ CC=gcc FC=gfortran F77=gfortran F90=gfortran BLAS_LIBS="-L/usr/lib -lblas" LAPACK_LIBS="-L/usr/lib -llapack" FFT_LIBS="-L/usr/lib -lfftw3"
4) make all
実行方法
/usr/lib/openmpi/bin/mpirun -machinefile /home/*/hosts -np 2 /home/*/espresso-4.3.2/bin/pw.x <atom.in> atom.out

◆ Intel Compiler をインストールする場合(学生様向け)
◇ 並列化
OpenMP(初心者向け用メモ)
0) sudo apt-get install liblapack-dev
    sudo apt-get install fftw-dev
1) tar zxvf expresso-4.3.2.tar.gz
2) cd expresso-4.3.2
3) ./configure CXX=g++ CC=gcc FC=ifort F77=ifort F90=ifort --enable-openmp --with-internal-blas --with-internal-lapack FFT_LIBS="-L/usr/lib -lfftw" FFLAGS="-O2 -assume byterecl -g -traceback -par-report0 -vec-report0 -axSSE4.2,SSE4.1,SSSE3,SSE3 -mcmodel=large -i-dynamic -no-ipo"
4) make all
実行方法
/home/*/espresso-4.3.2/bin/pw.x <atom.in> atom.out にて計算が成功する。
※ mpi に関するエラーが出る場合は、MPI_LIBS=" " とすると良い。

OpenMP(初級者向け用メモ)
1) tar zxvf expresso-4.3.2.tar.gz
2) cd expresso-4.3.2
3) ./configure CXX=icpc CC=icc FC=ifort F77=ifort F90=ifort --enable-openmp BLAS_LIBS="-L/opt/intel/Compiler/11.0/084/mkl/lib/em64t -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lifcore -lguide -lpthread -lsvml" LAPACK_LIBS="-lmkl_lapack" --with-internal-fftw FFLAGS="-O2 -assume byterecl -g -traceback -par-report0 -vec-report0 -axSSE4.2,SSE4.1,SSSE3,SSE3 -mcmodel=large -i-dynamic -no-ipo"
4) make all
実行方法
/home/*/espresso-4.3.2/bin/pw.x <atom.in> atom.out にて計算が成功する。
※ mpi に関するエラーが出る場合は、MPI_LIBS=" " とすると良い。

OpenMP(中級者向け用メモ)
1) tar zxvf expresso-4.3.2.tar.gz
2) cd expresso-4.3.2
3) ./configure CXX=icpc CC=icc FC=ifort F77=ifort F90=ifort --enable-openmp BLAS_LIBS="-L/opt/intel/Compiler/11.0/084/mkl/lib/em64t -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lifcore -lguide -lpthread -lsvml" LAPACK_LIBS="-lmkl_lapack" FFT_LIBS="-L/usr/local/lib -lfftw3" FFLAGS="-O2 -assume byterecl -g -traceback -par-report0 -vec-report0 -axSSE4.2,SSE4.1,SSSE3,SSE3 -mcmodel=large -i-dynamic -no-ipo"
4) make all
実行方法
/home/*/espresso-4.3.2/bin/pw.x <atom.in> atom.out にて計算が成功する。
※ mpi に関するエラーが出る場合は、MPI_LIBS=" " とすると良い。

OpenMP(上級者向け用メモ: icc + ifort)
1) tar zxvf expresso-4.3.2.tar.gz
2) cd expresso-4.3.2
3) ./configure CXX=icpc CC=icc FC=ifort F77=ifort F90=ifort --enable-openmp BLAS_LIBS="-lmkl_blas95 -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lifcore -lguide -lpthread -lsvml" LAPACK_LIBS="-lmkl_lapack95" FFT_LIBS="-lfftw3xf_intel" FFLAGS="-O2 -assume byterecl -g -traceback -par-report0 -vec-report0 -axSSE4.2,SSE4.1,SSSE3,SSE3 -mcmodel=large -i-dynamic -no-ipo"
4) make all
実行方法
/home/*/espresso-4.3.2/bin/pw.x <atom.in> atom.out にて計算が成功する。
※ mpi に関するエラーが出る場合は、MPI_LIBS=" " とすると良い。
Reference: http://nitrogen14.blog51.fc2.com/blog-entry-36.html

OpenMP(上級者向け用メモ: gcc + ifort)
1) tar zxvf expresso-4.3.2.tar.gz
2) cd expresso-4.3.2
3) ./configure CXX=g++ CC=gcc FC=ifort F77=ifort F90=ifort --enable-openmp BLAS_LIBS="-lmkl_blas95 -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lifcore -lguide -lpthread -lsvml" LAPACK_LIBS="-lmkl_lapack95" FFT_LIBS="-lfftw3xf_intel" FFLAGS="-O2 -assume byterecl -g -traceback -par-report0 -vec-report0 -axSSE4.2,SSE4.1,SSSE3,SSE3 -mcmodel=large -i-dynamic -no-ipo" CFLAGS="-O3 -em64"
4) make all
実行方法
/home/*/espresso-4.3.2/bin/pw.x <atom.in> atom.out にて計算が成功する。
※ mpi に関するエラーが出る場合は、MPI_LIBS=" " とすると良い。
Reference: http://nitrogen14.blog51.fc2.com/blog-entry-36.html

◇ 並列化
OpenMPI
1) tar zxvf expresso-4.3.2.tar.gz
2) cd expresso-4.3.2
3) ./configure MPIF90=/usr/local/openmpi/bin/mpif90 CXX=g++ CC=gcc FC=ifort F77=ifort F90=ifort --with-internal-blas --with-internal-lapack --with-internal-fftw
4) make all
実行方法
/usr/local/openmpi/bin/mpirun -machinefile /home/*/hosts -np 2 /home/*/espresso-4.3.2/bin/pw.x <atom.in> atom.out

◇ 並列化
OpenMPI
1) tar zxvf expresso-4.3.2.tar.gz
2) cd expresso-4.3.2
3) ./configure MPIF90=/usr/local/openmpi/bin/mpif90 CXX=g++ CC=gcc FC=ifort F77=ifort F90=ifort --with-internal-blas --with-internal-lapack FFT_LIBS="-L/usr/local/lib -lfftw3 -lfftw3_mpi -lfftw3_threads" FFLAGS="-O2 -assume byterecl -g -traceback -par-report0 -vec-report0 -axSSE4.2,SSE4.1,SSSE3,SSE3 -mcmodel=large -i-dynamic -no-ipo" CFLAGS="-O3 -m64"
4) make all
実行方法
/usr/local/openmpi/bin/mpirun -machinefile /home/*/hosts -np 2 /home/*/espresso-4.3.2/bin/pw.x <atom.in> atom.out

◇ 並列化
OpenMPI + OpenMP
1) tar zxvf expresso-4.3.2.tar.gz
2) cd expresso-4.3.2
3) ./configure MPIF90=mpif90 CXX=g++ CC=gcc FC=ifort F77=ifort F90=ifort --enable-openmp --with-internal-blas --with-internal-lapack FFT_LIBS="-L/usr/local/lib -lfftw3 -lfftw3_mpi -lfftw3_threads -lfftw3_omp" FFLAGS="-O2 -assume byterecl -g -traceback -par-report0 -vec-report0 -axSSE4.2,SSE4.1,SSSE3,SSE3 -mcmodel=large -i-dynamic -no-ipo" CFLAGS="-O3 -m64"
4) make all
実行方法
/usr/local/openmpi/bin/mpirun -machinefile /home/*/hosts -np 2 /home/*/espresso-4.3.2/bin/pw.x <atom.in> atom.out

◇ 並列化
OpenMPI + OpenMP + MKL
1) tar zxvf expresso-4.3.2.tar.gz
2) cd expresso-4.3.2
3) ./configure MPIF90=mpif90 CXX=g++ CC=gcc FC=ifort F77=ifort F90=ifort --enable-openmp BLAS_LIBS="-L/opt/intel/Compiler/11.0/084/mkl/lib/em64t -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lifcore -lguide -lpthread -lsvml" LAPACK_LIBS="-lmkl_lapack" FFT_LIBS="-L/usr/local/lib -lfftw3 -lfftw3_mpi -lfftw3_threads -lfftw3_omp" FFLAGS="-O2 -assume byterecl -g -traceback -par-report0 -vec-report0 -axSSE4.2,SSE4.1,SSSE3,SSE3 -mcmodel=large -i-dynamic -no-ipo" CFLAGS="-O3 -m64"
4) make all
※ この条件で check-pw.x.j を走らせると、551.5 s (Core i7-2600K) となった。Reference が 851.06 なので約1.5倍の速度。
実行方法
1) export OMP_NUM_THREADS=2 を .bashrc に書き入れる。
2) /usr/local/openmpi/bin/mpirun -machinefile /home/*/hosts -np 4 /home/*/espresso-4.3.2/bin/pw.x <atom.in> atom.out
以上で、4 CPU * 2 threads = 8 processor cores の動作となる。

http://users.aims.ac.za/~sandro/files/tutorial_para.pdf
http://www.hpcadvisorycouncil.com/pdf/ESPRESSO_Best_Practices.pdf
http://conquer-ur-computer.blogspot.jp/2010/12/install-quantum-espresso-in-ubuntu.html 
------------------------------------------------------------------------------
第一原理計算のセットアップ CPMD
◆ gfortran の場合(業者様向け & 学生様向け)
◇ 並列化

CPMD setup
1) download CPMD : http://cpmd.org/
2) tar zxvf cpmd-v3_15_1.tgz
3) cd CPMD
4) CONFIGUREの中から適した環境のファイル名を探す
  ./mkconfig.sh LINUX-i686-FEDORA-MPI > Makefile
  Makefile において
  LFLAGS='-L/usr/lib/ -llapack -lblas -lfftw'
  CC = /usr/local/openmpi/bin/mpicc
  FC = /usr/local/openmpi/bin/mpif77
  LD = /usr/local/openmpi/bin/mpif77
  CPPFLAGS = -D__Linux -D__PGI -D__GNU -DFFT_FFTW -DPARALLEL -DMYRINET
  mpifcc を /usr/local/openmpi/bin/mpicc へ
  mpif77 を /usr/local/openmpi/bin/mpif90 へ
5) make
References
[1] https://extras.csc.fi/chem/courses/cpmd/terminal-intro.pdf

◆ Intel Compiler をインストールする場合(学生様向け)
◇ 並列化
CPMD setup
1) download CPMD : http://cpmd.org/
2) tar zxvf cpmd-v3_15_1.tgz
3) cd CPMD
4) CONFIGUREの中から適した環境のファイル名を探す
5) ./mkconfig.sh PC-IFC-MPI > Makefile
  Makefile において
  FFLAGS で -axM -tpp6 を削除
  LFLAGS = -L/home/*/intel/*/mkl/lib/ia32 -lmkl_blas95 -lmkl_lapack95 -lmkl_intel -lmkl_intel_thread -lmkl_core -lifcore -lguide -lpthread -lsvml -L/usr/lib -lfftw -lfftw_mpi
mpif77 を /usr/local/openmpi/bin/mpif90 へ
5) make
References
[1] https://extras.csc.fi/chem/courses/cpmd/terminal-intro.pdf

------------------------------------------------------------------------------
第一原理計算のセットアップ ABINIT
◆ gfortran の場合(業者様向け & 学生様向け)
◇ 並列化
MPICH2
1) tar zxvf abinit-6.8.1.tar.gz
2) cd abinit-6.8.1
3) ./configure CC=gcc FC=mpif90 --enable-gw-cutoff --enable-gw-dpc --enable-gw-optimal --enable-gw-wrapper --enable-vdwxc --enable-mpi LDFLAGS=-L/usr/lib LIBS="-llapack -lblas -lfftw3" --with-trio-flavor="none" --with-dft-flavor="none"
4) make multi multi_nprocs=2
5) make install
6) mpirun -machinefile /home/*/hosts -np 2 abinit <case.files> case.log

◆ gfortran の場合(業者様向け & 学生様向け)
◇ 並列化
OpenMPI
1) tar zxvf abinit-6.12.3.tar.gz
2) cd abinit-6.12.3
3) ./configure --enable-gw-cutoff --enable-gw-dpc --enable-gw-optimal --enable-gw-wrapper --enable-vdwxc --enable-mpi CC=gcc FC=/usr/bin/mpif90.openmpi LDFLAGS="-L/usr/lib" LIBS="-llapack -lblas" --enable-64bit-flags --enable-bse-unpacked --with-atompaw-bins
4) make multi multi_nprocs=2
5) sudo make install
6) /usr/bin/mpirun.openmpi -machinefile /home/*/hosts -np 4 abinit <case.files> case.log

◇ 並列化
OpenMPI
1) tar zxvf abinit-6.8.1.tar.gz
2) cd abinit-6.8.1
3) ./configure --enable-gw-cutoff --enable-gw-dpc --enable-gw-optimal --enable-gw-wrapper --enable-vdwxc --enable-mpi CC=icc FC=/usr/lib/openmpi/bin/mpif90 LDFLAGS="-L/usr/lib" LIBS="-llapack -lblas" --with-trio-flavor="none" --with-trio-flavor="none" --with-dft-flavor="none"
4) make multi multi_nprocs=2
5) make install
6) /usr/lib/openmpi/bin/mpirun -machinefile /home/*/hosts -np 2 abinit <case.files> case.log

◆ Intel Compiler をインストールする場合(学生様向け)
◇ 並列化
OpenMPI
1) tar zxvf abinit-6.8.1.tar.gz
2) cd abinit-6.8.1
3) ./configure --enable-gw-cutoff --enable-gw-dpc --enable-gw-optimal --enable-gw-wrapper --enable-vdwxc --enable-mpi CC=icc FC=/usr/local/openmpi/bin/mpif90 LDFLAGS="-L/home/*/intel/*/mkl/lib/em64t" LIBS="-lmkl_intel -lmkl_sequential -lmkl_core -lpthread" --with-trio-flavor="none" --with-dft-flavor="none" --prefix=/home/user_name/abinit-6.8.1
4) make multi multi_nprocs=2
5) make install
6) /usr/local/openmpi/bin/mpirun -machinefile /home/*/hosts -np 2 /home/*/abinit-6.8.1/bin/abinit <case.files> case.log

Abinit Band Structure maker
1) cd /home/*/abinit-6.8.1/util/users
2) python AbinitBandStructureMaker.py case.out
3) python AbinitBandStructureMaker.py case.out.dbs
4) xmgrace case.out.dbs.agr
※ manual : /home/*/abinit-6.8.1/doc/users

EXC (準備中)
OpenMPI
1) tar zxvf
2) cd
3) ./configure F90=mpif90 F90FLAGS="-O2" CC=gcc --with-fftw3="/usr/lib/libfftw3.a" --with-blas="/usr/lib/libblas.a" --with-lapack="/usr/lib/liblapack.a"
4) make
5) make tests
6) make install

DP (準備中)
OpenMPI
1) tar zxvf
2) cd
3) ./configure
4) make
5) make tests
6) make install

BigDFT (準備中)
OpenMPI
1) tar zxvf /home/*/Downloads/bigdft-1.5.2.tar.gz
2) cd bigdft-1.5.2
◆ gfortranの場合 (gfortran でBLAS, LAPACKをコンパイルすることが必要)
3) ./configure CXX=g++ CC=gcc F77=gfortran FC=mpif90.openmpi FCFLAGS="-fbounds-check -O2 -Wall" --with-ext-linalg="-llapack -lblas" --with-ext-linalg-path="-L/usr/lib" --with-libabinit-path="/home/*/abinit-6.8.1/lib"
◆ Intel Fortran Compilerの場合
3) ./configure CXX=icpc CC=icc F77=ifort FC=/usr/local/openmpi/bin/mpif90 FCFLAGS="-O2" --with-ext-linalg="-lmkl_intel -lmkl_sequential -lmkl_core -lpthread" --with-ext-linalg-path="-L/home/*/intel/*/mkl/lib/ia32" --with-libabinit-path="/home/*/abinit-6.8.1/lib"
4) make
5) cd tests
6) export run_parallel='mpirun -np 2'
7) make check
8) cd ..
9) sudo make install
※ --with-libabinit-path="/home/*/abinit-6.8.1/lib" は無い方が良いかもしれない。

BigDFT (version 1.6.0)
OpenMPI
1) tar zxvf /home/*/Downloads/bigdft-1.6.0.tar.gz
2) cd bigdft-1.5.2
◆ gfortranの場合1
3) ./configure CC=gcc CXX=g++ F77=gfortran FC=mpif90.openmpi CFLAGS="-g -O2 -m64" CXXFLAGS="-g -O2 -m64" FCFLAGS="-g -O2 -m64" FFLAGS="-g -O2 -m64" --enable-minima-hopping --enable-dgemmsy
◆ gfortranの場合2
3) ./configure CC="gcc -m64" CXX="g++ -m64" F77="gfortran-m64" FC="mpif90.openmpi -m64" --enable-minima-hopping --enable-dgemmsy
4) make
5) cd tests
6) export run_parallel='mpirun -np 2'
7) make check
8) cd ..
9) sudo make install
※ --with-libabinit-path="/home/*/abinit-6.8.1/lib" は無い方が良いかもしれない。
------------------------------------------------------------------------------
第一原理計算のセットアップ Yambo
◆ gfortran の場合(業者様向け & 学生様向け)
(NetCDF無しの場合) (*はユーザー名にして下さい)
(/home/centos5/PWscfでexpresso-4.3.2を解凍した場合)
1) tar zxvf yambo-3.2.4-rev.17.tar.gz
2) cd yambo-3.2.4-r.855
3) ./configure F77=gfortran FC=gfortran F90=gfortran MPIF=/usr/local/openmpi/bin/mpif90 MPICC=/usr/local/openmpi/bin/mpicc --with-iotk='/home/*/espresso-4.3.2/iotk' --with-p2y=4.0
4) make yambo interfaces ypp
5) [X] PW (4.0) supportかを確認する。

◆ Intel Compiler をインストールする場合(学生様向け)
(NetCDF無しの場合)(*はユーザー名にして下さい)
(/home/centos5/PWscfでexpresso-4.3.2を解凍した場合)
1) tar zxvf yambo-3.2.4-rev.17.tar.gz
2) cd yambo-3.2.4-r.855
3) ./configure F77=ifort FC=ifort F90=ifort MPIF=/usr/local/openmpi/bin/mpif90 MPICC=/usr/local/openmpi/bin/mpicc --with-iotk='/home/*/espresso-4.3.2/iotk' --with-p2y=4.0
4) make yambo interfaces ypp
5) [X] PW (4.0) supportかを確認する。

------------------------------------------------------------------------------
第一原理計算のセットアップ SPRKKR
◆ gfortran の場合(業者様向け & 学生様向け)

◇ 並列化
OpenMPI (下記で試したが、エラーが出る。コード自体を書き換えないと修正が無理のように思えた)
1) tar zxvf PUB*
2) 並列化のソフトによって下記のようにmake.incを書き換える
  LIB = -L/usr/local/lib -lblas -llapack -lpthread
  INCLUDE = -I/usr/local/openmpi/include
  FFLAGS = -O3
  FC = /usr/local/openmpi/bin/mpif90 -c $(FFLAGS) $(INCLUDE)
  LINK = /usr/local/openmpi/bin/mpif90 $(FFLAGS) $(INCLUDE)
3) make scfmpi (並列化しない場合は、make scf)
  上記の作業で binary が作成される。PCが 4 core の場合は下記となる
  mpirun -np 4 kkrscf5.4MPI INPUT>OUTPUT
4) この他にもプログラムを作成することができる
a) make all
  gen, scf, embgen, embscf が作成される
b) make allmpi
  scfmpi, embscfmpi, specmpi が作成される
c) Makefile を見ると一応下記のコマンドがある
  make genmpi, make embscfmpi, make chi,
  make opm, make opmmpi, make spec
5) 再度コンパイルする場合には、make clean を用いる
http://linux.die.net/man/1/gfortran


◆ Intel Compiler をインストールする場合(学生様向け)
◇ 並列化
OpenMPI の場合
1) tar zxvf PUB*
2) 並列化のソフトによって下記のようにmake.incを書き換える
  LIB = -L/home/*/intel/*/mkl/lib/ia32 -lmkl_intel -lmkl_sequential -lmkl_core -lpthread
  INCLUDE = -I/usr/local/openmpi/include
  FC = /usr/local/openmpi/bin/mpif90 -c $(FFLAGS) $(INCLUDE)
  LINK = /usr/local/openmpi/bin/mpif90 $(FFLAGS) $(INCLUDE)
3) make scfmpi (並列化しない場合は、make scf)
  上記の作業で binary が作成される。PCが 4 core の場合は下記となる
  mpirun -np 4 kkrscf5.4MPI INPUT>OUTPUT
4) この他にもプログラムを作成することができる
a) make all
  gen, scf, embgen, embscf が作成される
b) make allmpi
  scfmpi, embscfmpi, specmpi が作成される
c) Makefile を見ると一応下記のコマンドがある
  make genmpi, make embscfmpi, make chi, 
  make opm, make opmmpi, make spec
5) 再度コンパイルする場合には、make clean, make reset を用いる
よく分からなければ、再度コンパイルする前に make clean を入力しておけばよい。

◇ 並列化
OpenMPI +Scalapack の場合
1) tar zxvf PUB*
2) 並列化のソフトによって下記のようにmake.incを書き換える
  LIB = -L/home/centos6/intel/composerxe-2011.4.191/mkl/lib/ia32 -lmkl_intel -lmkl_scalapack_core -lmkl_blacs_openmpi -lmkl_solver -lmkl_sequential -lmkl_core -lmkl_cdft_core -lpthread
  INCLUDE = -I/usr/local/openmpi/include
  FC = /usr/local/openmpi/bin/mpif90 -c $(FFLAGS) $(INCLUDE)
  LINK = /usr/local/openmpi/bin/mpif90 $(FFLAGS) $(INCLUDE)
3) make scfmpi (並列化しない場合は、make scf)
  上記の作業で binary が作成される。PCが 4 core の場合は下記となる
  mpirun -np 4 kkrscf5.4MPI INPUT>OUTPUT
4) この他にもプログラムを作成することができる
a) make all
  gen, scf, embgen, embscf が作成される
b) make allmpi
  scfmpi, embscfmpi, specmpi が作成される
c) Makefile を見ると一応下記のコマンドがある
  make genmpi, make embscfmpi, make chi,
  make opm, make opmmpi, make spec
5) 再度コンパイルする場合には、make clean, make reset を用いる
よく分からなければ、再度コンパイルする前に make clean を入力しておけばよい。
参考文献:http://ebert.cup.uni-muenchen.de/index.php?option=com_remository&Itemid=4&func=startdown&id=155&lang=de

------------------------------------------------------------------------------
第一原理計算のセットアップ WIEN2k
◆ gfortran の場合(業者様向け & 学生様向け)
◇ 並列化
1) tar -xvf WIEN2k_11.tar
2) gunzip *.gz
3) chmod +x ./expand_lapw
4) ./expand_lapw
5) ./siteconfig_lapw
6) V gfortran + gotolib を選択
7) gfortran, gcc を入力
8) oを押して、-ffree-form -O2 -m64 -ffree-line-length-none
  r を押して、-llapack_lapw -lblas_lapw -lblas -llapack
  l を押して、$(FOPT) -L../SRC_lib
9) shared Memory Architecture? (y/n): y
10) ./userconfig_lapw
11) bash
12) w2web

◆ gfortran + Intel MKLの場合(業者様向け & 学生様向け)
◇ 並列化
OpenMPI
1) tar -xvf WIEN2k_11.tar
2) gunzip *.gz
3) chmod +x ./expand_lapw
4) ./expand_lapw
5) ./siteconfig_lapw
6) V gfortran + gotolib を選択
7) gfortran, gcc を入力
8) O specify compiler options, BLAS and LAPACK
  O Compiler options: -ffree-form -O2 -m64 -ffree-line-length-none
  L Linker Flags: $(FOPT) -L$(MKLROOT)/lib/$(MKL_TARGET_ARCH) -pthread
  P Preprocessor flags '-DParallel'
  R R_LIB (LAPACK+BLAS): -lmkl_intel_lp64 -lmkl_lapack95_lp64 -lmkl_blas95_lp64 -lmkl_core -lmkl_sequential -lmkl_gf
9) shared Memory Architecture? (y/n): y
10) Do you have MPI and Scalapack installed and......(y/n): y
  Your compiler: /usr/lib/openmpi/bin/mpif90
  RP RP_LIB(SCALAPACK+PBLAS): -lmkl_scalapack_core -lmkl_solver -lmkl_blacs_openmpi -L/usr/lib -lfftw_mpi -lfftw $(R_LIBS)
  FP FPOPT(par.comp.options): -ffree-form -O2
  MP MPIRUN commando: mpirun -np _NP_ -machinefile _HOSTS_ _EXEC_
11) ./userconfig_lapw
12) bash
13) w2web

◆ Intel Compiler をインストールする場合(学生様向け)
◇ 並列化
OpenMP
1) tar -xvf WIEN2k_11.tar
2) gunzip *.gz
3) chmod +x ./expand_lapw
4) ./expand_lapw
5) ./siteconfig_lapw
6) ヴァージョンに合わせてI, J, K, K1 を選択(ここでは12 のIを選択してみる)
7) ifort, icc を入力
8) Current settings:
  O Compiler options: -FR -mp1 -w -prec_div -pc80 -pad -ip -DINTEL_VML -traceback -axSSE4.2,SSE4.1,SSSE3,SSE3
  L Linker Flags: $(FOPT) -L$(MKLROOT)/lib/$(MKL_TARGET_ARCH) -pthread
  P Preprocessor flags '-DParallel'
  R R_LIB (LAPACK+BLAS): -lmkl_lapack95_lp64 -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -openmp -lpthread
9) Shared Memory Architecture? (y/n): y
10) Do you have MPI and Scalapack installed and......(y/n): n
11) ./userconfig_lapw
12) .bashrc を開いて、export OMP_NUM_THREADS= の後にスレッド数 を書き入れる。ここでは、export OMP_NUM_THREADS=4 とした。
13) bash
14) w2web
参考HP : http://xinhuolin.web.officelive.com/Wien2kinUbuntu.aspx
参考文献 : http://www.ghfecher.de/Fecher_CompileIntel.pdf


◇ 並列化
OpenMPI
1) tar -xvf WIEN2k_11.tar
2) gunzip *.gz
3) chmod +x ./expand_lapw
4) ./expand_lapw
5) ./siteconfig_lapw
6) ヴァージョンに合わせてI, J, K, K1 を選択(ここでは 12 のIを選択する)
7) ifort, icc を入力
8) Current settings:
  O Compiler options: -FR -mp1 -w -prec_div -pc80 -pad -ip -DINTEL_VML -traceback
  L Linker Flags: $(FOPT) $(FOPT) -L$(MKLROOT)/lib/$(MKL_TARGET_ARCH) -pthread
  P Preprocessor flags '-DParallel'
  R R_LIB (LAPACK+BLAS): -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -openmp -lpthread
9) Shared Memory Architecture? (y/n): y
10) Do you have MPI and Scalapack installed and......(y/n): y
  Your compiler: /usr/local/openmpi/bin/mpif90
  RP RP_LIB(SCALAPACK+PBLAS): -lmkl_scalapack_core -lmkl_solver -lmkl_blacs_openmpi -L/usr/local/lib -lfftw_mpi -lfftw $(R_LIBS)
  FP FPOPT(par.comp.options): $(FOPT) -FR -mp1 -w -prec_div -pc80 -pad -ip -DINTEL_VML -traceback
11) ./userconfig_lapw
12) bash
13) w2web

BoltzTraP
1) tar xvf BoltzTraP_1.20.tar.bz2
2) cd boltztrap-1.2.0
3) cd src
4) 解凍されたファイルで、src と書かれたファイルを開く
5) Makefileを書き換える
A) gfortran
  a) Netlib
    LDFLAGS = -L/usr/lib
    LIBS = -llapack -lblas
  b) ATLAS
    LDFLAGS = -L/usr/local/atlas/lib
    LIBS = -llapack_netlib_atlas -lblas_atlas -latlas
  c) GotoBLAS
    LDFLAGS = -L/usr/local/lib
    LIBS = -lgoto2 -lpthread
B) Intel compiler (調査中)
  FC = ifort
  FOPT = -FR -mp1 -w -prec_div -pc80 -pad -ip -DINTEL_VML
  LDFLAGS = $(FOPT) -L/home/*/intel/mkl/lib/ia32 -pthread -i-static
  LIBS = -lmkl_intel -lmkl_sequential -lmkl_core -lpthread
6) make
------------------------------------------------------------------------------
第一原理計算のセットアップ exciting (FLAPW)

◆ gfortran の場合(業者様向け & 学生様向け)
◇ 並列化
1) tar zxvf exciting.helium.2010.12.17.gz
2) cd exciting
3) make
4) 5 gfortran を選択
  Enter the number of the platform that suites your system best: 5
5) Build MPI binary ? yes
  Select the mechanism to include MPI interface variables
  1 use MPI module (f90 interfaces) recommended if available
  にて 1 を入力
6) Build SMP lib binary (yes/No) yes
  bin の中には、excitingmpi, excitingser が生成されている。

◆ Intel Compiler をインストールする場合(学生様向け)
◇ 並列化
------------------------------------------------------------------------------
第一原理計算のセットアップ CASINO
◆ gfortran の場合(業者様向け & 学生様向け)
◇ 並列化
CASINO(CASINO_v2.6_standard.tar.tar)
1) tar zxvf CASINO*
2) cd CASINO
3) .bashrc にて下記を加える。QMC_ARCH ではREADME_ARCHから選択する。
  CASINO/arch/make.inc の中にも対応する名称が.inc付きで書かれている。
  export QMC_ARCH="linuxpc-gcc-parallel"
  export PATH=$PATH:$HOME/CASINO/bin_qmc
4) bash
5) make

◆ Intel Compiler をインストールする場合(学生様向け)
◇ 並列化
CASINO(CASINO_v2.6_standard.tar.tar)
1) tar zxvf CASINO*
2) cd CASINO
3) .bashrc にて下記を加える。QMC_ARCH ではREADME_ARCHから選択する。
  CASINO/arch/make.inc の中にも対応する名称が.inc付きで書かれている。
  export QMC_ARCH="linuxpc-ifort-parallel"
  export PATH=$PATH:$HOME/CASINO/bin_qmc
4) bash
5) make
------------------------------------------------------------------------------
ubuntuの利用には下記参考文献が役に立つかもしれない(未調査)。
http://xenolith.image.coocan.jp/ubuntu_linux.html
------------------------------------------------------------------------------

------------------------------------------------------------------------------

ubuntu 11.10 でのセットアップ
※ 計算時にエラーが出る。ubuntu 11.10 か SSD か Compiler によるものなのかは不明。
------------------------------------------------------------------------------
1. index of /linux: http://ftp.riken.jp/Linux/ (理研のHPよりOSをiso形式でダウンロード)
2. 「ubuntu-iso」→「ubuntu-iso」 →「CDs-Ubuntu/」→「11.10/」→「ubuntu-11.10-beta2-desktop-amd64.iso」をダウンロードしてCDに焼く
------------------------------------------------------------------------------
sudo apt-get install csh
sudo apt-get install g++
sudo apt-get install libstdc++5
sudo apt-get install kwrite
sudo apt-get install emacs
sudo apt-get install gnuplot
sudo apt-get install rpm
------------------------------------------------------------------------------
Intel Compiler の導入
1. tar zxvf parallel_studio_xe_2011_sp1_intel64_tgz
2. cd parallel_studio_xe_2011_sp1_intel64
3. Enterを入力
4. sudo ./install.sh
5. 「1. skip prerequisites」 で Enterを入力
6. spaceを入力し続けた後、accept を入力
7. 「3. I want to activate either remotely, or by ........」の3を入力
8. 「2. Use a license file」の2を入力
9. license file の 絶対パス を入力(New Terminal で新しいTerminal を開いて、ライセンスファイルをそこに入れると絶対パスが分かる。' ' の間に記されている絶対パスをコピー&ペーストすればよい)
10. この後は最後まで Enter を入力し続ければよい。
------------------------------------------------------------------------------
環境設定
1. New Terminal で新しいターミナルを開く
2. sudo kwrite ./bashrc
3. ./bashrcで下記を書き込んでSAVEする
  source /opt/intel/bin/compilervars.sh intel64
4. bash
5. which ifort や which icc で参照場所、ifort -v や icc -v でversion情報が出れば成功
------------------------------------------------------------------------------
WIEN2kのセットアップ
◆ Intel Compiler をインストールする場合(学生様向け)
◇ 並列化
OpenMP

0) Create New Folder で新しいファイル(例えば WIEN2k_11 など)を作成し、WIEN2k_11.tar
をその中にコピーし、新しいTerminalを開いて、cd WIEN2k_11 とする。
1) tar -xvf WIEN2k_11.tar
2) gunzip *.gz
3) chmod +x ./expand_lapw
4) ./expand_lapw
5) ./siteconfig_lapw
6) ヴァージョンに合わせてI, J, K, K1 を選択(ここでは12 のIを選択してみる)
7) ifort, icc を入力
8) Current settings:
  O Compiler options: -FR -mp1 -w -prec_div -pc80 -pad -ip -DINTEL_VML -traceback -axSSE4.2,SSE4.1,SSSE3,SSE3
  L Linker Flags: $(FOPT) -L$(MKLROOT)/lib/$(MKL_TARGET_ARCH) -pthread
  P Preprocessor flags '-DParallel'
  R R_LIB (LAPACK+BLAS): -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread
9) Shared Memory Architecture? (y/n): n
  この後には、rsh を選択してみた。
10) Do you have MPI and Scalapack installed and......(y/n): n
11) ./userconfig_lapw
12) bash
13) w2web
※ ./userconfig_lapwの後、.bashrc を開いて、export OMP_NUM_THREADS= の後にスレッドの数 を書き入れる。ここでは消費電力との兼ね合いから最も効率的であると考えられる4スレッドでの並列計算とするため export OMP_NUM_THREADS=4 とした。
参考HP : http://xinhuolin.web.officelive.com/Wien2kinUbuntu.aspx
参考文献 : http://www.ghfecher.de/Fecher_CompileIntel.pdf
※ Dでの配列の大きさ設定には注意すること。OpenMP並列でもMPIと同様に、スレッド数で割った配列の大きさとすることが必要となる。
※ 16GBしか搭載できないので、余裕を見て、NMATMAX=27000、NUME=2700とした。しかし、4スレッドで挑戦したところ、エラーが出たので、NMATMAX=28000/4=7000、NUME=7000/10=700 とした。これでもエラーが出た。原因調査中。
計算式は以下の通り
NMATMAX=√(15 700 000 000 /10)/√2=28017, NUME=NMATMAX/10=2800
http://www.ghfecher.de/Fecher_CompileIntel.pdf を見てSIGSEGV error の対処方法を調査中。
※ 何回か試してもOpenMPが上手くいかない。
------------------------------------------------------------------------------
QRコード
携帯用QRコード
アクセス数
ページビュー数
[無料でホームページを作成] [通報・削除依頼]