yumしようとおもったんだけど、べつに既に最新だったっぽい。そして、vramをスワップに回そうとしたら、そんなドライブねーよと言われた。困った。ので、調べる。
80GBモデルと160GBモデルのPS3にLinuxをインスコして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 starthttp://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 offhttp://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台買うかなあ。そのうち。