今日のYDL6.1 on PS3

yumしようとおもったんだけど、べつに既に最新だったっぽい。そして、vramをスワップに回そうとしたら、そんなドライブねーよと言われた。困った。ので、調べる。

80GBモデルと160GBモデルのPS3Linuxインスコしてvramをswapに回すとboot関係のトラブルがあるらしい

あの、これでswapが増えるぜいやっほーいとか思ってたんですが、

# cd /etc/init.d
# wget http://us.fixstars.com/support/solutions/ydl_6.x/ps3-vram-swap
# chmod 755 ps3-vram-swap
# chkconfig ps3-vram-swap on
# service ps3-vram-swap start

http://cell.fixstars.com/ps3linux/index.php/YDL_6.1でVRAMをswap領域として使用する

とかして、そんなデバイスねーよとか言われてしまって、実際に/devみたら、認識されてなかった。ので、ググッてみた。どうやら前のカーネル使えば良いんじゃねとか、もうすぐサポートされなくなるよとか書いてあった。

http://www.yellowdog-board.com/viewtopic.php?f=19&t=4820&p=25761#p25757

のだけど、埃高き人柱の俺様は何があっても使ってやるもんねと思い、古いカーネルを入れてみようと意気込んでみたんだが、

Issue:
Follow this procedure if you are not able to boot into YDL on your PS3.

Hardware
PS3 80GB (Model Number: 98015) or PS3 160GB (Model Number: 900006). The Model Number is located on the PS3 box.
YDL 6.1
http://us.fixstars.com/support/solutions/ydl_6.x/update_kernel.shtml

とか書いてあって、しかも、オチが、

After the installation of the rpm, disable ps3vram. Using ps3vram as swap is no longer supported in the updated kernel. Leaving ps3vram enabled may cause boot issues. To avoid these issues or if in doubt whether ps3vram is enabled or not, type:

chkconfig ps3-vram-swap off

http://us.fixstars.com/support/solutions/ydl_6.x/update_kernel.shtml

なんて書いてあって、vramをswapに使おうとするとブートできなくなるかもよとか書いてあった。流石にそこまでは自力ではできないので、今回は諦めることにしました。ということです。代わりにFedora 11でも入れてみようかなあと思いつつ、どうやらカーネルの問題なので、次のバージョンが出るまで気長に待つしかないのねー。
そしてやっぱシステムメモリが256MBしかないので、しょっちゅうHDDにアクセスしてて微妙です。こりゃやっぱ純粋に計算機にしか使えない感じですかね。まあ別にそれが目的で買ったので、文句はないですけど。

gfortran

gccをアップデートしたら普通に使えた。ちょっとベンチマークに拡散方程式でもとかしてみるかなあ。
どうやら、

# yum -y updrade

したらgccが最新版になったっぽい。
そして、簡単なベンチ。阿呆でも書ける拡散方程式なんだけど、-O2と-O3のオプションつけて計算さしてみた。明日win XPのCelronのifortと比べてみる。とりあえず5分で書いたコード。

program test
  implicit none
  integer, parameter :: LL = 10000, NN = 10000
  real (8), parameter :: dx = 0.01, dt = 0.0020
  real (8) :: U (0:LL), Utmp (0:LL), Co, TIME
  integer :: i, n

  Co = dt / dx
  U  = 1.0;       Utmp = 0.0;

do 0001 n = 0, NN
   U (0) = U (1);     U (LL) = U (LL-1);
   do 0002 i = 1, LL-1
      Utmp (i) = U (i) + 0.5 * Co * (U (i+1) - 0.5 * U (i) + U (i-1))

0001 continue
0002 continue


  call cpu_time (TIME)
  write (6,*) "CPI TIME", TIME

end program test

を計算した結果、-O2オプションで大体6秒で、-O3オプションで1.4秒。まあ最適化はそこそこですかね。この程度の簡単なコードならifortと変わらない程度の最適化がかかるっぽい。たしかにgccは速いとはいえないけど、まあ悪くはねーんじゃねーのとおもった。
しかしシステムメモリが25MBっつーのがちと痛い。本格的な数値計算するなら複数台必要だよなあ。むう。もう1台買うかなあ。そのうち。

その他のやること

  1. AnthyがC-Spaceで起動するので、これをShift + Spaceに代える(canna風味)
  2. 火狐のキーバインドemacs風に変える
  3. SPEだとか、PPEだとか、そういうむにゃむにゃしたものを調べてみる
  4. OpenMPIとMPICHを引っ張ってきてコンパイルしてみる
  5. とりあえずCellで何かしらベンチマーク作ってみる