« 言い訳Disable | メイン | ぐんにょり60点 »

後期1発目卒研

研究室から更新しちゃえ。

後期1発目の卒研だったわけですが


相方が来ません。

まぁ、中間発表の段階で分かれて発表することになってるんで
これといって実害があるわけではないんですが。

とりあえずテスト期間中に考えてた、
「ニューラルネットの接続係数をdoubleじゃなくてintでやったら速くなるんじゃね?」
というアイデアについて検証。

1024*1024*n 要素を持つint配列
int[] intArray1, intArray2

1024*1024*n 要素を持つdouble配列
double[] dblArray1, dblArray2

を作成。System.Randomで
doubleは0.0〜1.0の乱数を、
intは0〜1000000000の乱数を生成、格納

んで各要素について
for(i=0; i<1024*1024*n; i++)
intArray1[i] = intArray1[i] * intArray2[i];
のように計算。

ちなみに、int[] intArrayR を作っておいて
intArrayR[i] = intArray1[i] * intArray2[i];
ってやったらメモリ食いすぎてだめでした。しょんぼり。

んでn=1,2,4,8,10についてExcelで集計したらこんな感じ。
sotuken_051003.jpg
ちなみに1024*1024*16やったら結果がおかしくなったので見なかったことにしました。

スペックがしょんぼりな子で試しに実行してみたらもっとわかりやすいくらいに差が出ててしょんぼり。
まぁいいや。

ある程度は高速化できそうなので、次回以降はこれを実装してみる…かも。
中間発表のネタにはなりそうな感じ。

投稿者 Zawa : 2005年10月03日 15:01

トラックバック

このエントリーのトラックバックURL:
http://zawa.s18.xrea.com/x/mt-tb.cgi/53

コメント

URL変わったさ〜http://niko2pon2.exblog.jp/

投稿者 おが : 2005年10月03日 16:17

初見、doubleが早い?って見えたけど、よくよく見てみると縦軸が時間でしたっと(´・ω・`)
横軸=時間軸って普通に思ってしまう
大分洗脳されているようだ

投稿者 JAS : 2005年10月06日 00:00

コメントしてください




保存しますか?