2014/11/13(木)Intel Edison
切手くらいの大きさにx86 CPUと4Gストレージ、1Gメモリ、無線LANとBluetoothが載って単体でLinuxが動く。こういう変なものはとりあえず買うしかないでしょう。単体だと特殊コネクタしかなくて手も足も出ないので、USBとかのI/Fを引き出してくれるBreakoutボード付きのものを買いました。税込8640円。
組み立ては差し込んでネジ止めするだけ。
以下は設定メモ。母艦としてubuntuの入ったPCを使った。
- J3とPCをmicroUSBケーブルで繋ぐ。これはシリアル通信のためのもの。syslogを見るとttyUSB0として繋がってるっぽいので、
sudo screen /dev/ttyUSB0 115200 -L
- さらに、J16とPCをmicroUSBケーブルで繋いで電源供給する。ログイン画面になるので、ID:rootでパス無しで入れることを確認。
- 初期バージョンはバグだらけらしいので、https://communities.intel.com/docs/DOC-23242から"Edison Yocto complete image"をダウンロードし、https://communities.intel.com/docs/DOC-23200を見ながらアップデート。ドキュメントの最後に載ってる flashall.sh を使う方法でうまくいった。
- シリアルで繋いだterminalから
configure_edison --setup
を実行。ホスト名、パスワード、Wi-Fiを設定し、これ以降は無線LAN経由でsshで操作できるようになる。
- http://bunkai.jugem.jp/?eid=194
- http://tech.recruit-mp.co.jp/gadget/intel-edison-getting-started/
- http://trac.switch-science.com/wiki/IntelEdison
- http://nonnoise.github.io/Edison/
さて、sshで中を見ると、gcc 4.8.2が入っていて、セルフ開発出来そうです。とりあえずkvライブラリで精度保証ができるか試してみました。boostとkvライブラリを転送し、実行してみると、あっさり動きました。
とりあえず西先生の 5 solution の全解探索を実行してみると、
- 5.7sec (core i7 4600U)
- 137sec (Intel Edison)
Edisonは32bitにしか対応していないのですが、SSE2を持っているので-msse2 -mfpmath=sseをコンパイルオプションに指定すれば浮動小数点計算をSSEにやらせることができ、高速かつIEEE754準拠になります。