Phenom X4 9850BE ベンチ

最近いろいろとコンパイルする機会が多いのだが、マシンが遅くて仕方がないのでマシンを新調した。cpu は中古で買ったので 3 万円でおつりがきた。本当は一番速い PhenomII を買おうと思っていたのだが高いし AM3 にも対応していないのでやめておいた。

  • 環境

ML115 G5
Phenom X4 9850BE @ 2.5GHz
DDR2 6400 4GB
debian lenny AMD64

  • 処理内容

Debian lenny の linxu-source-2.6.26 を -jx の値を変更しつつコンパイル時間を測定した。

  • 実行結果

-jなし single に対して 1.0 倍

phenom:/usr/src/linux-source-2.6.26# time make bzImage
real    5m35.872s
user    4m47.086s
sys     0m38.734s

-j2 single に対して 2.0 倍

phenom:/usr/src/linux-source-2.6.26# time make -j2 bzImage
real    2m42.724s
user    4m33.233s
sys     0m35.166s

-j4 single に対して 3.3 倍

phenom:/usr/src/linux-source-2.6.26# time make -j4 bzImage
real    1m40.595s
user    4m36.605s
sys     0m35.618s

-j8 single に対して 3.8 倍

phenom:/usr/src/linux-source-2.6.26# time make -j8 bzImage
real    1m28.049s
user    4m38.657s
sys     0m38.050s

-j12 single に対して 3.9 倍

phenom:/usr/src/linux-source-2.6.26# time make -j12 bzImage
real    1m25.623s
user    4m40.974s
sys     0m38.370s

-j16 single に対して 3.9 倍

phenom:/usr/src/linux-source-2.6.26# time make -j16 bzImage
real    1m25.207s
user    4m42.166s
sys     0m38.662s
  • 考察

-j2 では core 数に対してリニアな性能が出ているが -j4 では期待値の 75% 程度しか性能が出ていない。-j4 を処理している場合は各 cpu 使用率が 80% 未満なので更にコンパイルプロセスを詰め込んだところ、core 数にリニアな結果が得られた。

Linux カーネルコンパイルは明らかに SMP 向きの処理であるが、 core 数 * 3 個くらいはコンパイラを起動しないと効率が悪いようだ。必ずしも指定した数だけコンパイラが起動する訳ではないので、効率よく実行できるようにプロセス数の上限を排すような指定をすることが重要である。

MacBook 買った

前々から MacOS X を使ってみたいと思っていたのだが、先日新しい MacBook が発売されたのでこれを機に購入することにした。
筐体が削り出しであること、 LED バックライトであること、google から Mac における Android のビルド手順が示されるほど UNIX 環境として一般的であること、AppleGPGPU に熱心で今後恩恵を受られるかもしれないこと、などが理由である。ipod touch の開発もできるし。

店頭の展示機ではツルテカ液晶が反射しまくっており、また 2ch では散々液晶が駄目だと言われていたことの影響もあって、多少は覚悟していた。しかし、手元の実機で確認したところ反射はゼロではないものの十分に許容範囲に収まっていた。十分にバックライトの光量があれば影響は少ないということだろう。

英語キーボードにしたのでカスタマイズ扱いになり 24 日に発注して 31 日に届いた。日頃 HHK を使用している身としてはキーボードのストロークが短いのが気になる。心なしかキーボードのサイズも大きいような気もする。

macports は想像していたよりも豊富にパッケージが用意されている。ARM の gcc とかもある。ソースパッケージなのでコンパイルせねばならずめんどくさい。存関係の解消も一部手動で行う必要があるようだ Gentoo のソースパッケージを流用する事もできるらしい。

PythonRuby も最初からインストールされている。

VMware fusion も買ったので仮想マシンdebian を用意した。lenny installer beta2 では途中の tasksel に失敗してしまう。lenny はそろそろリリースだと思うけど大丈夫なのだろうか。

とりあえず CUDA インストールしてみた。GPGPU を利用した GpuCV(GPU accelerated Computer Vison) っていうのもあるらしい。
https://picoforge.int-evry.fr/cgi-bin/twiki/view/Gpucv/Web/WebHome

QuickSilver 超便利。

現在 Objective C の本を読み始めているが、ソースの見かけは良くないものの C++ よりは習得しやすいのではないかと思っている。

Beagle board 買った

BeagleBoard が日本の Digikey でも買えるようになった。

BeagleBoard はオープン携帯ゲーム機 Pandora のハードウェアを汎用ボード化した OMAP 評価ボードである。
というような記述を当初どこかで見た記憶がするのだが、誤認している気がするので取り消す。2010/4/14

Pandora
http://openpandora.org/

BeagleBoard 仕様
http://elinux.org/BeagleBoard

BeagleBoard マニュアル(pdf)
http://www.beagleboard.org/uploads/Beagle_HRM_B4.pdf

ボードに搭載されている CPU には ARM11 の倍速いという ARM Cortex-A8 コアと DSPPowerVR が載っている。現在のところ OMAP が Cortex-A8 を採用している唯一の石のようだ。OMAP は POP(Packeage On Packeage の略 MCM ではないことに注意) であるので OMAP の上部に SDRAM & NAND Flash が乗っかっている(LGA を重ねる感じ)。 正にワンチップ Linux である。

日常的に使用している ipod touch ARM11@667MHz よりも高速な Cortex-A8 なら OpenCV もサクサク動く程度のパフォーマンスがあるのではないかと期待している。その BeagleBoard の価格はなんと $150 ! Armadillo-500 の 1/5 以下 ! ! 早速注文した ! ! !

      • -

で、実機が届いた。Angstrom が提供しているデモイメージを 10 分ほど動かしてみたところ Enlightenment の環境が問題なく動いている。Debian lenny をインストールした環境では GnomeFirefox が動作するようだ。

スクリーンショット
http://elinux.org/BeagleBoardDebian

基板上にはディスプレイ出力端子もついているが DVI-D(コネクタHDMI) なので使い勝手がイマイチである。しかし、DVI の仕様書を見たら中身は RGB & CLK の差動信号が通っているだけだった。この線路の事を TMDS(Transition Minimized Differential Signaling)と呼ぶらしい。Digikey には TI の TMDS レシーバが売っているのでこれを適当な液晶に接続すれば DVI モニタができそうである。解像度が低ければ差動信号間の遅延もさほど問題にならないのではないだろうか。今年こそは Olimex への発注体制を整えたい。

というわけで BeagleBoardAndroid の有力なプラットフォームになると思うので、みんなも買ったほうがいいよ。

構文解析理解不能

俺の知る限り構文解析について最も詳しく書いてあるのが

コンパイラ入門―構文解析の原理と lex/yaccC言語による実装
http://www.amazon.co.jp/dp/4781912052

であり、本書を読むことで、さすがの俺も LL 解析を理解できた様子なのだが、なんとか集合とか LR とかさっぱり理解できそうにない。
関連する教科書も難しいのばっかり。

GAE

何度試してもさっぱり認証されなかった GAE だが、携帯のホワイトリストから google が外れていたのが原因だった。認証できたので django の本買ってきた。はたしてシームレスに使えるのだろうか。

先日 JavaScript をさわり程度いじったのだが、想像していたよりも奥が深くおもしろかった。HTML と CSS はしんでもさわりたくないというのは相変らずなのだが、そうもいってられないのだろうか。

VMWare ESXi

前々から自宅のマシンを Xen で一元化したいと考えいているのだが、7 月末に VMWare ESXi が無償化されていた。ESX はHypervisor タイプなのでパォーマンスも安心かもしれない。因みに Hypervisor が使用できる NIC は限られるので注意が必要。
http://www.vmware.com/jp/products/esxi/

試したいけど時間がない。