2007年11月10日から2007年11月6日までの日記を表示中

2007年11月10日 (土)

OpenBlockSでntpd

PS3の時計が超早く進むので,OpenBlockSでntpdを上げて時計を合わせるようにしてみました.ああ,時計が合っているというだけで落ち着くのが何とも不思議です.ていうかずれすぎだろPS3の時計.ゲームOSだとこの辺平気なのか?

Cell向けクロスコンパイル環境

ヒタヒタさんに負けじと,Cell用のクロスコンパイル環境 (ppu-binutils,ppu-gcc,spu-binutils, spu-gcc, spu-newlib, libspe2) をソースからビルドしてみました. /opt/cell とかに入らずに,/usr/local/cross/cell-linux 以下に綺麗に入れられて超 (゜Д゜)ウマー

基本的に ここからSRPMを落としてきて,展開してソースとパッチとspecファイルを取り出して,後はspecファイルの中を見ながらパスを読み替えてビルドしていけばできあがりなんですが,spu-gccを作るところで,spu-gcc と spu-newlib が相互に依存しててちょっと戸惑いました.ここは過去の経験を元に

  1. spu-newlib のヘッダをxgccが見えるところに展開しておく
  2. spu-gcc のCコンパイラだけ作ってインストールする
  3. spu-newlib を作ってインストールする
  4. spu-gcc をC・C++の両方を有効にして作り直す

とやったら回避できました.これが正解かどうかは知らんけど,まあ動いてます.

あとlibspe2をmakeする際に 32bit版のライブラリしかできなくて軽くはまりました.こっちは普通にMakefileを書き直すことで回避.

いやー,やっぱspecファイルがあるのはいいですねぇ.OpenZaurusのクロス環境を手探りで作ったときに比べて10倍くらい簡単な感じです.ていうか今思うとよくあんな不毛なことやったな・・・.

気になる速度比較ですが,PS3でやるとこんな感じ.

% time make
spu-gcc  -Wall -Winline -O3 -funroll-loops -falign-functions=16 \
 -falign-labels=8 -falign-jumps=16 --param max-inline-insns-single=32000 \
 --param large-function-growth=8000 --param inline-unit-growth=600 -c spe.c
spu-gcc -o celltripper-spu   spe.o
make  35.47s user 0.78s system 99% cpu 36.251 total

T60 (Core2Duo T7200 2.0GHz・メモリ2G) でやるとこんな感じ.

% time make
spu-gcc  -Wall -Winline -O3 -funroll-loops -falign-functions=16 \
 -falign-labels=8 -falign-jumps=16 --param max-inline-insns-single=32000 \
 --param large-function-growth=8000 --param inline-unit-growth=600 -c spe.c
spu-gcc -o celltripper-spu   spe.o
nice -n 10 make  7.20s user 0.08s system 99% cpu 7.292 total

やっぱPPE単体だと(ry

無双5

明日発売じゃーん.ムービー見てみたらちょっと欲しくなったけど,なんで呂布と趙雲が闘ってんだこれ.

2007年11月 9日 (金)

飲み

突発的に飲みが.というわけで今日は何も書くことがないっす.

2007年11月 8日 (木)

kernel-2.6.22.12

TuxOnIceを3.0-rc2に上げるついでにカーネルを2.6.22.12に上げました.・・・げ,GCC-4.1.2でコンパイルしてしまった・・・.カーネルは3.4系と決めてあったのにぃ.やりなおしー.

バンの方

「バン」は角の丸いファミコンソフト出してたあの「バン」に決まってんだろうが!ということを今日たまたまhyousuke氏に会ったので説明してきました.久々に会って話したのがそれだけってどうなんだろうなw

そういえば聞くところによると,バンの方はセガじゃなくてナムコで本当によかったね,という感じだったらしいですが,ナムコの方はどうなんだろうね.

2007年11月 7日 (水)

PS3でトリップ探索

何か寝付けないんで色々試してたらバグ発見.「\」が混じると答えが合わないぞ・・・と思ったらsalt部分の処理間違えてた(´・ω・`).ちなみに,現在コア1個で 1.5Mトリップ/秒.1.66Mくらいまで行きたいところですが,とりあえず今思いつく限りのことは全部試してみた感じでそろそろ苦しいかも・・・.先に6コアで動かすことを考えよう.

2007年11月 6日 (火)

TuxOnIce

hibernate問題は解決したものの,何かハイバネに失敗しまくりです.いや,単に失敗して「いや〜失敗しちゃいましたよ」とXに戻ってくるなら全然OKなんすけど,途中でカーネルパニックおこして死ぬのはマジで勘弁していただきたいところ・・・.あ,3.0-rc2が出ていますねぇ.

PS3でトリップ探索

せっかくだから nonstd.c を取り込んでみることにしました.単にEmacsでごりごり置換するだけなんですが.ばかおめXNOR命令がねーからそんなの意味ねーよ.・・・え?spu_eqvでいいの?なんだよー早く言えよー.SIMD命令2個つかっちゃったじゃねーかよー.

・・・なんてことはなくて,普通に最初からspu_eqv使って書きましたが.で,置換した結果,1.4Mトリップ/秒を超えました (計算を間違えていなければの話ですが).こうかはてきめんだ!

しかし,気がつけばコンパイルが激遅に.そろそろクロス環境を真面目に整えることを検討したほうが良さそうね・・・

2007年11月10日から2007年11月6日までの日記を表示中

中の人情報

名前:
nosuke (のすけ)
メール:
sasugaanijaのgmail.com
「の」は「@」みたいな
関連リンク:

カレンダー

2007年11月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  

<<先月分

翌月分>>

最新の10件のエントリ

最近の10件のコメント

過去ログ