Mac で QEMU と Raspberry Pi で Mathematica
先日の記事を書き直します.
Linux が動くワンボードコンピュータ Raspberry Pi 版の Mathematica が無料で配布されるようになりました.ぼくも早速試してみる事にしました.
まずはエミューレータで Raspberry Pi を試してみました.
まずは Mac に QEMU をインストール.ぼくは Homebrew でインストールしました.
$ brew install qemu
homebrew の環境が整っていれば,これで簡単にインストールできます.
次に QEMU で Raspberry Pi のエミュレータが動くまでは以下の URL のサイトを参考にしました.
試行錯誤をしましたが,なんとか QEMU で Raspberry Pi 用の Linux である Raspbian を動かす事ができました.
この時点で QEMU の画面は VGA サイズでした.狭くて不便なので次に tightvncserver をインストールしました.
一度 QEMU を終了.Mac 側での起動コマンドに VNC 用のポートの指定 -redir tcp:15901::5901 を追加します.ついでに SSH も.
qemu-system-arm -kernel kernel-qemu -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial stdio -append "root=/dev/sda2 panic=1 rootfstype=ext4 rw" -hda 2013-09-25-wheezy-raspbian.img -redir tcp:10022::22 -redir tcp:15901::5901
Raspbian が起動したら vncserver をインストールします.
pi@raspberrypi:~$ sudo apt-get install tightvncserver
VNC を使わなくても SSH が使えるので Mac のターミナルから ssh -X -P 10022 pi@localhost とやればつながります.これでも十分ですが,デスクトップ画面を出したい場合は VNC が便利かも.
VNC で接続の場合は vncserver 起動後に Mac の Finder の移動メニューから「サーバに接続...」を選び,「vnc://localhost:15901」と入力して「接続」ボタンをクリックすると VNC で Raspberry Pi に接続できます.VNC 接続だとマウスポインタが VNC の画面の中と外を自由に行き来できるし,画面サイズも大きくなり快適です.
エミュレータが良いのはあれこれ試して,失敗してやり直しというのが気楽にできる事です.実機を入手できるまでいろいろ試してみました.
実機を入手してから早速起動してみましたが,モニタを接続してなかったので DHCP で割り振られた IP アドレスが良くわかりませんでした.エミュレータ側で IP アドレスを固定に設定して,そのイメージを SD カードにコピーして起動し直し.ifconfig で MAC アドレスを確認して AirMac Time Capsule の DHCP サーバ側に MAC アドレスを登録して割り振る IP アドレスを指定しました.
エミュレータに ssh 接続する時は ssh -X -P 10022 pi@localhost でしたが,実機の場合はポート番号指定を無くして ssh -X pi@192.168.10.100 とかやれば良い訳です.xterm は入ってませんが lxterminal が使えるみたい.-X オプションで X11 の転送が有効になり lxterminal などが使えます.
Raspbian での Mathematica のインストールは簡単です.コマンドを入力するだけ.
以下の URL のサイトを参考にしました.
pi@raspberrypi:~$ sudo apt-get update
pi@raspberrypi:~$ sudo apt-get install wolfram-engine
これで
/usr/bin/mathematica
と
/usr/bin/wolfram
が使えるようになります.
特に意味ないけど Mac の Mathematica と Raspberry Pi の Mathematica でベンチマークとってみました.
ちなみに iMac でベンチマークをとったときはこんな感じ.
Needs["Benchmarking`"]
b = Benchmark[];
m = b[[1]][[1]][[2]];
iMac = b /. {m -> "iMac12,1 2.7GHz (4Core)"}
BenchmarkReport[$BenchmarkSystems, iMac]
結果はこちら.
=== System Information ===
Machine Name: iMac12,1 2.7GHz (4Core)
System: Mac OS X x86 (64-bit)
Date: November 28, 2013
Mathematica Version: 9.0.0
Benchmark Result: 1.19
Machine Name: MacPro5,1 2 x 2.66GHz 6 Core Xeon(12 Cores)
System: Mac OS X x86 (64-bit)
Date: November 28, 2013
Mathematica Version: 9.0.0
Benchmark Result: 0.97
Machine Name: MacBookAir3,1 1.4GHz Intel Core 2 Duo (2Core)
System: Mac OS X x86 (64-bit)
Date: November 28, 2013
Mathematica Version: 9.0.0
Benchmark Result: 0.38
Machine Name: raspberrypi
System: Linux ARM (32-bit)
Date: November 30, 2013
Mathematica Version: 10.0.0
Benchmark Result: 0.01
=== MathematicaMark9 System Comparison ===
iMac12,1 2.7GHz (4Core) 1.19
Mac OS X x86 (64-bit)
3.07 GHz Core i7-950 (8 Cores) 1.00
Windows 7 Pro (64-bit) Desktop
MacPro5,1 2 x 2.66GHz 6 Core Xeon(12 Cores) 0.97
Mac OS X x86 (64-bit)
2.93 GHz Core i7-940 (8 Cores) 0.89
Linux Ubuntu (64-bit) Desktop
2.67 GHz Core 2 Quad Q9450 (4 Cores) 0.80
Linux Debian (64-bit) Desktop
3.00 GHz Core 2 Duo E8400 (2 Cores) 0.78
Linux Ubuntu (64-bit) Desktop
3.06 GHz Core 2 Duo E8435 (2 Cores) 0.73
iMac OS X Snow Leopard (64-bit) Desktop
1.73 GHz Core i7-820QM (8 Cores) 0.73
Windows 7 Ultimate (64-bit) Laptop
2 * 2.26 GHz Quad Core Xeon E5520 (8 Cores) 0.69
Mac XServe OS X (64-bit) Server
2.80 GHz Core 2 Duo Mobile T9600 (2 Cores) 0.67
Windows 7 Pro (64-bit) Laptop
2 * 2.66 GHz Dual Core Xeon 5150 (4 Cores) 0.56
MacPro OS X Snow Leopard (64-bit) Server
2.4 Ghz Core 2 Duo Mobile T8300 (2 Cores) 0.47
MacBook OS X Snow Leopard (64-bit) Laptop
2.60 GHz Core 2 Duo Mobile T7800 (2 Cores) 0.44
Windows XP Pro (32-bit) Laptop
2 * 2.80 GHz Opteron 254 (2 Cores) 0.38
Windows XP Pro (64-bit) Server
MacBookAir3,1 1.4GHz Intel Core 2 Duo (2Core) 0.38
Mac OS X x86 (64-bit)
2.13 GHz Core 2 Duo E6400 (2 Cores) 0.36
Windows Vista (32-bit) Server
1.6 GHz Core 2 Duo Mobile L7500 (2 Cores) 0.32
Windows 7 Pro (32-bit) Laptop
2 * 2.00 GHz G5 PowerPC (2 Cores) 0.14
Mac OS X (32-bit) Desktop
raspberrypi 0.01
Linux ARM (32-bit)
(Faster systems give larger numbers)
Permalink Trackback URI http://onohiroki.cycling.jp/tb/tb.cgi/weblog_d20131130n1
TrackBack