温泉気分で♪

twitterしています。 https://twitter.com/nozawa_onsen

全体表示

[ リスト ]

R-2.11.1 on T-SH7706LSR

T-SH7706LSRと言う石鹸箱くらいの大きさのボード上で統計解析系言語のR-2.11.1が動きました。
 
まずボードですが、三岩さんという人が、こういうボードを作っています。

CPUは日立のSH7706、クロックは120MHz、メインメモリ32M、HDDの替わりがSDカード。
性能的にはINTELの80486相当で、価格は7980円。
 
 
イメージ 1
 
この板にもLinuxが付いてくるのですが、クロス環境なのでRをコンパイルするのは、しんどいです。

小林さんという人が、こういう記事を書いています。
 
 
シリコンリナックスと言う会社のLinuxを少し修正すると、三岩さんのボードで動くと言う話。
実際にはTTYのスピードと、SDメモリ用のデバイスを修正すれば終わりです。
 
こっちは、debianなので、ネイティブコンパイラ類も装備している為、Rのコンパイルも可能です。
記事そのままだとスワップがありませんが、スワップを32Mつけてコンパイルした結果、動作を始めました。
 
イメージ 2

 
画面の無い組み込みCPUボードなので、PCのdebianをコンソールにしてログインしている為に
それこそ何の変哲も無く見えますが、動作速度は80486相当なので、無茶遅いのですけどね。ww

実際にRを使う人には、どの程度の性能なのかのほうが気になるところですよね?

まずボードですが、ドライストンで性能を計ってみます。

http://www.sakalab.org/~saka/tools/dhrystones.html

とりあえず、コンパイルオプションは-Oで

User_time sec (times, HZ): 2.610 (261, 100)
Microseconds for one run through Dhrystone: 26.1
Dhrystones per Second: 38314.2

次に-O3だと

User_time sec (times, HZ): 19.630 (1963, 100)
Microseconds for one run through Dhrystone: 19.6
Dhrystones per Second: 50942.4

ざっくりとINTELの80486相当であることが判ります。

次にRの性能ですが、その昔APPLE2のBASICで100元の連立方程式を
2時間以上掛かって解かせていた事があったので、これをRで
やらせてみました。

まずは、比較用としてAMDのopteronですが

opteron

> system.time(solve(matrix(rnorm(10000),100,100)))
ユーザ システム 経過
0.012 0.000 0.035
>

次にこのボードだと、

SH3

> system.time(solve(matrix(rnorm(10000),100,100)))
user system elapsed
43.050 0.010 43.059
>

と、こんな感じで、opteronにはボロ負けしていますが、これでも
APPLE2よりは100倍以上高速だと言う事が判りましたww

これからの方針として、せっかく組み込みCPUなのだから、内臓の
A/D、D/A、PIOを活かし、Rで現代制御でもやらせてみようかと。

と言うことで不定期に続きを書き込む事にします。

この記事に

閉じる コメント(45)

顔アイコン

いまの状態では何度やってもメモリが不足するようです。

それもコンパイルが始まって数時間で起きるわけで、
メモリを2倍にしても、最終的に出来上がるかは
ちょっと無理そうではあります。

どうしようかなぁ。

2010/6/26(土) 午前 7:55 [ のざわ ] 返信する

顔アイコン

新ボードが到着する。

電源コネクタを半田付けする必要があって、只今準備中。

ここの板って、箱の上に製造番号らしき番号が書いてあって
最後が61022。これって2010年6月の22枚目ってことか?

これだけ金額出すならatomのマザボも買えるわけで、サイズも
小さくないから、これだけ売れれば御の字なのかな?

2010/6/26(土) 午前 10:27 [ のざわ ] 返信する

顔アイコン

他にも半田付けするものが溜まっていたので、そっちを
先にやり、最後に、この基板の電源コードを付けた。

ここまでは良かったのだけど、見ればSDカードのコネクタも
無いしシリアルのコネクタも無い。

SDはマイクロSDで、シリアルはヘッダピンが出ていた。

マイクロSDは、後で近所の家電屋で買うとしてシリアルは
コネクタをバラしてヘッダソケットで作るしかない。

材料は転がっているので、なんとかなるが、知らずに買うと
慌てるかもね。

ま、そんな人は俺だけか。。(ぼそ

2010/6/26(土) 午後 1:22 [ のざわ ] 返信する

顔アイコン

>マイクロSDは、後で近所の家電屋で買うとしてシリアルは
>コネクタをバラしてヘッダソケットで作るしかない。

これは間違い。

コネクタ6に付ける3本線も付属していて、この先に
シリアルコネクタを、こちらで用意して付ける。

MESと言うボードに内臓されたOSが先ほど立ち上がった。

これからマイクロSDでも買いに行くか。

2010/6/26(土) 午後 2:54 [ のざわ ] 返信する

顔アイコン

マイクロSDを買ってきた。

メーカーはSANDISKで2G。予備も含めて2枚買うが
レジで、SD変換ソケット付きの2Gで560円のが
あると進められ、迷ったあげく1枚これも買った。

他にもUSBメモリとHUBを買い7,000円弱の買い物。

この手の話でメモリの選択で迷ったら、とりあえず
SANDISKの一番普通なのを選ぶようにしている。

たぶんそれが一番無難な話。

2010/6/26(土) 午後 3:56 [ のざわ ] 返信する

顔アイコン

買ってきたメモリの全部がダイナミックディスク問題を起こす。

ダイナミックディスクって何よ?って要するに本当はパテーションの
塊を、ひとつの大きなディスクに見せかけたwindows固有のやりかた。

Linuxは、これに非対応の為、普通は諦めて違うメディアを使う。

gpartと言うのを使えば、ダイナミックをベーシックに変更出来る
らしいので、調べているところ。

2010/6/26(土) 午後 8:29 [ のざわ ] 返信する

顔アイコン

ちょい急ぎの用事で、放置ちゅう。

今日T-SH3M用のvmlinuがメールに添付で送られてきた。

返信でダイナミックディスクの問題ないマイクロSDを問い合わせる。

なんとか動くといいんだけどな。。 削除

2010/6/28(月) 午後 8:28 [ nozawa_onsen_potta ] 返信する

顔アイコン

問い合わせの返事が来た。

なんとSANDISKの2G(うちのと同じ)ので
問題なく使えるとのこと。

やり方は、FAT32上に一旦linuxを置きRAMで
ブートさせ、その状態でパテーションを切れと
言うものだが、単純に考えれば、これでも駄目
だと思うんだけどね。

今日は、他の用事があるので、夜からやってみる
事にします。

2010/6/29(火) 午前 11:28 [ のざわ ] 返信する

顔アイコン

とりあず、言われたとおりに、送られてきたものを使ってやると
パテーションも切れて、立ち上がった。

なんで、この方法だと旨く行くのか判っていないが、とちあえず
一歩前進はしたと思う。

今から、この状態であれこれ、チェックをするところ。

既に疑問点もあれこれ出てきてるが、もう少し調べてみます。

2010/6/29(火) 午後 9:17 [ のざわ ] 返信する

顔アイコン

とりあえず、dfはこんな感じ。

~ # df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 1799736 44128 1664184 3% /
/dev/ram1 7931 13 7509 0% /tmp
/dev/ram2 7931 15 7507 0% /dev
/dev/shmmc1 33697 15159 18538 45% /boot

2010/6/29(火) 午後 9:32 [ のざわ ] 返信する

顔アイコン

気になってるのはfreeの結果。スワップは切るだけ切ってあるが
まだ載せていない。

メモリが64メガの筈が32メガしか認識されていない。

どういう事か、問い合わせしました。

~ # free
total used free shared buffers
Mem: 30568 5448 25120 0 1396
Swap: 0 0 0
Total: 30568 5448 25120
~

2010/6/29(火) 午後 9:34 [ のざわ ] 返信する

顔アイコン

この板でもdebianが動くのも確認出来ました。
ただいまapt-get upgradeちゅう。

2010/6/29(火) 午後 10:20 [ のざわ ] 返信する

顔アイコン

この板の今日の所の問題点

1)メモリを32メガしか認識しない
2)スワップを認識しない

続きは、また明日。

2010/6/29(火) 午後 10:45 [ のざわ ] 返信する

顔アイコン

TACからメールでboot.exe の専用版sdboot.exeとrootfs.imgを
追加で送ってきてくれた。

現在ファイルシステムはdebianになっているが、これで
起動するとメモリを64メガ認識するようになった。

後で一旦は純正環境に戻してswapが載るかどうか試験して
みる。


ucat1:~# free
total used free shared buffers cached
Mem: 63028 10528 52500 0 1272 5828
-/+ buffers/cache: 3428 59600
Swap: 0 0 0
ucat1:~#

2010/6/30(水) 午後 1:37 [ のざわ ] 返信する

顔アイコン

以下がdebian上のfdisk

ucat1:~# fdisk /dev/shmmc

Command (m for help): p

Disk /dev/shmmc: 1977 MB, 1977614336 bytes
64 heads, 63 sectors/track, 957 cylinders
Units = cylinders of 4032 * 512 = 2064384 bytes

Device Boot Start End Blocks Id System
/dev/shmmc1 1 17 34240+ b W95 FAT32
/dev/shmmc2 18 924 1828512 83 Linux
/dev/shmmc3 925 957 66528 82 Linux swap / Solaris

2010/6/30(水) 午後 1:42 [ のざわ ] 返信する

顔アイコン

で、これが/etc/fstab 悪そうには見えないんだけどなぁ?

ucat1:~# more /etc/fstab
# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
/dev/shmmc2 / ext3 defaults,errors=remount-ro 0 1
/dev/shmmc3 swap swap defautls,pri=1 0 0

ucat1:~#

2010/6/30(水) 午後 1:43 [ のざわ ] 返信する

顔アイコン

ダメ元で、swapon /dev/shmmc3 とすると

ucat1:~# free
total used free shared buffers cached
Mem: 63028 11116 51912 0 1564 6064
-/+ buffers/cache: 3488 59540
Swap: 66520 0 66520
ucat1:~#

swapまで乗った。なんで自動じゃ行かないんだろ?

2010/6/30(水) 午後 2:12 [ のざわ ] 返信する

顔アイコン

swapのプライオリティが1だったので-1にしてみる。

/dev/shmmc3 swap swap defautls,pri=-1 0 0

こんな感じだが、ばっちり自動で起動するようになった。

2010/6/30(水) 午後 2:30 [ のざわ ] 返信する

顔アイコン

USBは試してないが、自分としては、今回のボードを
買った意義は、十分果たしたと言うところ。

これから、これをコンパイルマシンとして、使用します。

作業のコツですが、第一パテーションをLinuxで触ると
ダメなようです。

今日届いたsdboot.exeファイルを、面倒なのでubuntuの上で
コピーしたら、ファイルが見えなくてエラー。

試しに一旦boot.exeを消して、ubuntuからコピーして起動すると
やはりエラーになりました。

仕方ないので、この領域をwindowsでフォーマットしwindows上から
必要ファイルをコピーすると、今度は動作した次第。

なんだか、うるさい話ですね。

2010/6/30(水) 午後 4:35 [ のざわ ] 返信する

顔アイコン

LSRのメモリって256MbitのPC133のSDRAMなので512Mbitのに交換すると64MByteになります。
カーネルがswapを起こしているわけでは無いので、2倍になっても速度は、そのままです。
もちろんメモリいっぱいいっぱいな使い方をすれば変わってくると思いますけどね。
配線は、単純にそのまま交換で終わり。ちょっと手先が器用なら誰でも出来ると思います。

2011/2/20(日) 午後 1:46 [ のざわ ] 返信する

コメント投稿

顔アイコン

顔アイコン・表示画像の選択

名前パスワードブログ
絵文字
×
  • オリジナル
  • SoftBank1
  • SoftBank2
  • SoftBank3
  • SoftBank4
  • docomo1
  • docomo2
  • au1
  • au2
  • au3
  • au4
投稿

.


みんなの更新記事