2013/10/27

決まってしまった

学位の第一回口頭審査の日が決まってしまった。マジやばい、まだ色々試してないことあるのに。

2013/10/25

研究室にいるめんどくさい人

私よりこの分野に6年ぐらい長くいるのに
  • この分野の専門知識がない (数学できない: テンソルすら理解してない)
  • コード読めない, 書けない. というかbatch shellすら書けない. 商用のGUIに頼りっぱなし.
  • 論文投稿しても過去3回ぐらいrejectされているのに方法を再考しない
  •  一番嫌なのは, コード, shell書いてとかお願いしてくる. 結構ガチな量
人が近くにいる.こういう人にはならないように肝に銘じておこう.

2013/10/17

Windows Surface

毎度毎度パソコンネタだが windowsのsurfaceに次はしようかと思っている. 2014年の4月に消費税が上がるそうなのでぜひその前に色々生活用品を揃えておきたい. もちろん新しいマシンを買うタイミングもそこを狙っている. 先週の日曜日にジョーシンまで行ってきた. ちなみに上新電機には生まれて初めて行った. 地元が北関東なのでヤマダvsコジマvsK'sの激戦区. 関西系のお店はなかった. でも取り扱っていないと言われた. 翌々調べてみたら, surfaceはセキュリティが硬いらしくlinuxがインストールできないらしい. Nexusあたりにするかな ?

2013/10/12

カナダ料理 プーティン

研究室でマイナーな料理を作ることが流行っている, でカナダ料理のプーティンを作ってみようという事になったがグレイビーソースがどこにも売ってない.

アマゾンにはあったけど結構たかい. それにしてもこの料理の名前はロシアの怖いウラジーミルおじさんにしか聞こえない.

2013/10/09

博士(仮)の職探し

どこがの大学のpostdocにでもなれないかと探しております. 日本のは今月の頭に結構締め切りが多くて, 逃しました. イギリスとかアメリカがやっぱり英語圏なので楽なんだろう. あんまり北の方は寒いので嫌です. 某北欧の大学とイギリスの3校あたり+日本の某研究機関を狙っているが受かるんだろうか? 大した研究やってこなかったし.

2013/10/04

しばらく自分のコードに触れない

予備審査が近いのでしばらくは遊べない。自分のコードもしばらくは更新できないな。

2013/10/03

論文投稿

とあるオープンアクセスのジャーナルに投稿したら。

なぜかReviwerではなくeditorと戦うはめになった。

向こうのバージョン管理が甘いせいで、最終版をuploadしていないのに編集者がなぜか持っているのだけれど ? ドラフト載せられたらどうしよう、黒歴史+完全に仕事探しに響いてくるのだが。 この出版社に投げるのはもうやめよう。

生活週間を改める

今まで食事は炭水化物+炭水化物+炭水化物のような感じだったから. インスタント食品とかも結構多かったし.

一週間ぐらい野菜ベースにする. キャベツ+トマト缶の野菜スープが安く上がっていい. amazonで注文すればスーパーなどで買うより安く上がって, 運ぶのも楽. 今年に入ってから3回ぐらい頼んだ.

2013/10/02

discontinous galerkin 不連続ガラーキン法

 この二冊を購入した。次の世代のソルバーはこれだろう, 数学的に結構難しいみたいだが読めるかな?

discontinous galerkinベースの非構造格子用の高精度スキームがStanford, Brown, Max Planc Inst., Imperial Collegeなどで開発が進んでいる。東大でも2007-2008に研究予算が出ていたようなのだがどうなったのだろう。オープンソースだとfluidtyに実装されているようだ。 


       

2013/10/01

高速な二次元ループの回し方

1. 普通に二次元配列回すなら 

for( j=0; j<M; j++ ){ 
 for( i=0; i<N; i++ ){
  arr[i][j] = i+j*n;
 }
} 

2. 一次元配列を使う, 連続でメモリにアクセスできるので早い

for( j=0; j<M; j++ ){ 
 for( i=0; i<N; i++ ){
  arr[i+j*n] = i+j*n;
 }
}

3. 内側のループを展開, 計算コストの高い掛け算を減らしたので, 更に早いはずだ

for( j=0, offset=0; j<M; j++, offset+=N ){
  arr[j+offset] = j+offset;
}

こうするともうちょっと早くなった記憶があるが, 確認はしていない.
for( j=0, offset=0; j<M; j++, offset+=N ){
  *(arr+j+offset) = j+offset;
}


私は三番目のでほとんどの場合書いている.  SIMD命令を使えば更に早くなるがコンパイラーに頼る人なので, 省略.

この書き方の問題は2つだ, 共同開発の場合読めない人が結構多い, 同僚に変態コーダーと呼ばれる.

変態なので, 3次元のループだって一次元にしてどんどん回しちゃいます.
for( j=0; j<L; k++ ){ 
 for( j=0; j<M; j++ ){ 
  for( i=0; i<N; i++ ){
   arr[i][j][k] = i+j*n+k*n*m;
  }
 }
}

こう書き換える
L = M*N;
for( i=0, offset_j=0, offset_k=0; j<M; j++, offset_j+=N, offset_k+=L ){
  arr[i+offset_j+offset_k] = j+offset_j+offset_k;
}

AMDのCPUのケースの内側

隣の研究室で購入してたAMDのFX series. 蓋が二重になっていたので開けてみたら某ネズ.... (ハハッ)

twitter

blogをtiwtterと同じように使っている。どうでもいいことを思いついたままに書いているのだ。他稀に役に立つことも書いた(つもりだが)。

twitterを使うべきなのだろうか

まとめページ

      

リンク

The Wizard of Science
友達のブログ文化人類学とか難しい話をしております。あとホームページから自作ゲームも配布。