2011/08/31

英スーパー「テスコ」が日本撤退 

英スーパー「テスコ」が日本撤退 

だそうです。がーん。baked beans, yorkshire puddingとか日本でも買えると思ったのにでも一度は閉店前に行ってみたい。

使える言語、話せるではない

自分が使える言語

C
大体これで書く事が多い。何でもできるので不自由ない。

C++
使えるっていっていいのかな? Cほど隅々まではわからないけど、C++機能多すぎ。でもちょっと窮屈で使いにくい感がある。小規模なコードならCの方が短くかけるし。初めて本格的に学んだ言語。学校で初めて触れたよ。

Fortran 90
指導教官にこのコードでやってと、当時f90全くわからないのに渡され仕方なく覚えた言語。Cより簡単だと思う。ただ入出力が使いづらい。この点はFortranからCを呼んで解決。C++ とも通信できるけど、Cに一旦落とす必要がある。当然クラスとかテンプレートは使えない。F77,F66とかも読むことはできる。

Shell Script ( Bash )
バッチ処理用ですね。真剣に学んだことないけど一応困らないぐらいには使えます。

Perl & Python
最近学びだした。Pythonの方が簡単らしいがC/C++を知っているとどうもPerlの方に親近感をかんじてしまう。

HTML (4.0)
化石テクノロジーですよ。と言ってもこのブログも、自分でHTML を使ってすこしいじったのですが。

CSS
もうあんまり覚えていない。リファレンス必須だな。

はじめるなら簡単なPythonと言われてるけどどうでしょう?C言語に近いPerlのほうがのちのちC/C++を学ぶことを考えたらいいんじゃないでしょうか?科学計算系はコードの豊富さからFortran 系は必須だけど。

おすすめはこのあたりの本


Pythonスタートブック

独習C++ 第4版

独習C 第4版



2011/08/30

人は外見によらない。

まずは見てくれ、この漢の生きざまを!

無職中年男が輝くとき



英語わからない人は最初は少し飛ばすといい。

http://youtu.be/drcvM-yiKTU

スーザンボイルとかポールポッツを思い出す。この他にもB.Lloydっていゆオネエ系の32歳の人もびっくりした。

でも個人的には2011 espisode1で出てきたElton John を歌ったJanet Devlin。あの娘は一流になると思う

2011/08/29

GPGPU

今はやりのGPGPU。自分のネットブックでもできるんだけど。OpenCL超変態仕様!

Hello wolrdのOpenCLソース見たけど、すっごく長い。今まで見た中で一番長いHello worldだと思う。200行ぐらい。

なんでも、デバイスの割り当てだの、初期化だのを指定してあげなければいけない。CUDAはもっと簡単らしい。

でもAMD/ATIのパフォーマンスが出るからね、がんばるじょ!

2011/08/28

Intel vs AMD その壱

Intel vs AMD



Intel対AMDと言えばパソコン雑誌お決まりの企画。

年に一回ぐらいはやってる。性能ではIntel、価格と性能を考えると、AMDっていうのが、最近のお決まりのパターン。

でも、中身の見えないベンチマークソフトばっかり使っているので実際何が起こっているのかが全くわからない。じゃあ数値計算ではどうなのだろうと思ってやってみた。

結果は

Intel圧勝



Core 2 duo世代の4コアXeon (2007年ぐらい?)のCPUが12コアのIstanbul Opteronを破ってしまいました。 

もち並列化して全コアを使ってBiCGStabソルバーにて4096x4096の密行列を解きます。ちなみにCG系(クリノフ系ソルバー)はほとんど内積計算です。

ここはOpenMPにて並列化。コンパイラーはgcc4.2.x多少バージョンが違うのですがこの辺は学校の管理なのでいじれません。 参考にしますた OpenMPによる並列プログラミングと数値計算法

たぶんだけどICC (Intel C/C++ Compiler)使えばIntelはもっと早くなると思う。

あとで結果載せます。

プログラミング初心者におすすめな本

こないだ友達からプログラミング始めたいんだけど何からやればいい?って聞かれて。

やっぱCかな?っと思い。これを勧めた。独習C 第4版

今思えばHTML,PythonとかPerlの方がとっつきやすいよね。

で本の紹介だけど。

ハーバードシルトって人が書いている定番中の定番。第四版まで出てる。

Cは1990年の規格と1999年拡張規格によって定められているので旧版でもいいと思う。時期がよければ、中古の第3版は1000円切るぐらいの安さだしね。

初版とかは100円です。さすがに初版はお勧めできないけど。個人的には対費用効果としては3 版あたりが狙い目だと思う。

ポインタの使い方が入門書としてはかなり詳しく書いてあるのでおすすめ。正直、機械系でやったC言語の授業よりも内容が深い。

C言語に触ったことのない人や、初心者向けの本では一番おすすめ。

ついでに自分のホームページもリンク

自分のサイト

貧乏人のPCライフをリンクに追加。

おもにPCとか数値解析関連のことを扱っています。車のことも追加する予定だけどいつになるやら。

リンクフィールドがない

友達がブログやってるので相互リンクいました。

The Wizard of Scienceが左下でリンクされています。

これ追加するのに一時間ぐらいかかった。使っているテンプレート、テンプレートじゃなく仕様?、がリンクフィールドの追加機能がなく、しょうがないのでHTMLを直接編集しました。

いやHTMLなんて、ほんといじるの何年ぶりだろ。今HTML5が騒がれていますが、 旧世代のHTML4しかわかりません。本当に最低限のことしかできないよ。

2011/08/27

移流拡散方程式を解く

一次元の移流拡散方程式をcentral difference methodで解いてみたよ。

ちなみにクリックすると絵が動くよ。



今まで使ったことのある Linux / Unix

Mac OS X powerpc
当時はまだUnixと認定されていなかったんだけど。まあいいか。10.3を使ってました。まあ楽ですよ。自分で開発環境を作ろうとしたけれど、gccとか環境が特殊なのでコンパイルできななかった。腕の問題か。

Darwin powerpc, i386
Appleが配ってたisoのやつです8.0だったかなi386版を試しにインストールしてみた。CUIからデスクトップ環境構築やるほどマゾではないので使ってません。

SUSE Linux powerpc
初めて使ったUnix likeなOS。CPU常時75%。HDD死ぬ。最悪の初体験。powerpc版は、最悪でした。10.1 ぐらいだったか?

Ubuntu x86_64
現在デスクトップ環境で使用中。とにかく楽だしリポジトリも豊富。安定してるし言うことなし。

NetBSD x86_64
5.1を使ってましたが、起動時がすごく不安定だった。pkgsrcはバイナリーリポジトリになれた身には厳しい。

Scientific Linux x86_64
簡単インストールで使い易いけどリポジトリにちょっと不満。軟弱者なのでコンパイルとかめんどくさくて。本来するべきなんでしょうけれど。



CRS BiCGStabソルバー

やっぱり自分で書いたライブラリーが一番使いやすい。今までヤコビとかで頑張っていたんだけど、compressed row storaged ( CRS ) Bi Conjugate Gradient Stable ソルバーつっくったよ。

めっさ早い。

256x256の7重バントマトリックスかでも50スッテプ以内で収束する。さっきやっとこさOpen MPで並列化が完了したさ。

前処理も時間があったらしてみたい。

09dec2011追記
ソースをホームページにのけってみた。cでかいてあります。makeすれば動くはず

2011/08/26

ネットブックで解析

プログラミングはほとんどネットブックでやっています。

キーボードと画面が小さくて大変ですけど。やはりどこにでも持っていけるのは大きい。
使っているネットブックはAcer Asire One 522という日本未発売の機種。アメリカからおっくてもらいました。

なぜこの機種かというと やっぱりAscii配列のキーボードじゃないと打ちにくい。そして、OpenCLが使えること。

C50 というAMD Fusion chipが乗っているのでグラフィックの性能もそこそこ。計算結果を見るにも便利なのですが、メモリーが1GB しかないので辛いです。

windos starterが乗ってましたが当然linuxにすぐに入れ替え。

2011/08/25

テスコ じゃぱん

英流通最大手のTESCOがなんと日本にも展開していることがわかった。

Sugeeeeeeeeいきたい!

1/2lbのチーズとかグレイビーとか日本でも売ってるのかな?

CRS化

PG-BiCGStabソルバーをCRS化なう。

ネットブックでマトリックスそのまま使おうとしたら落ちた。

メモリーがもっと欲しい。 (1GB)

2011/08/24

買わぬPCの皮算用? 

計算ノードの性能がやっぱり欲しくなってきた。atomでも結構行けると思ってきたけどさすがに購入時にメモリーを1GBにしたのは良くなかった。

firefoxと研究のコードを同時に走らせるとすぐにswap。firefox + paraviewでもswap。swapもあんまり多く取らなかったし。

メモリー安いし追加で買おうか考えたけど、解析結果を見るときグラッフィック性能とかも欲しいので新しくCPUとmother boardだけ変えようかと画策中。

Silcon Power DDR3-10600 8GB
AMD A8-3850
BIOSTAR TA 75A+

本当はASUSのマザー,CFDのメモリーがいいのだけど、お金がないので。この構成で21000円ぐらいでいけそう。

うーん悩む


がいじん

研究室には留学生が2人います。

が、同僚と教官の認識では三人ということに

私は外人扱いです。とほほ

2011/08/23

Gmshで立方体を作った。

Gmsh で立方体と3Dメッシュを作ってみました。

lc = 0.01;

Point(1) = {0.0, 0.0, 0.0, lc};
Point(2) = {0.1, 0.0, 0.0, lc};
Point(3) = {0.1, 0.1, 0.0, lc};
Point(4) = {0.0, 0.1, 0.0, lc};
Point(5) = {0.0, 0.0, 0.1, lc};
Point(6) = {0.1, 0.0, 0.1, lc};
Point(7) = {0.1, 0.1, 0.1, lc};
Point(8) = {0.0, 0.1, 0.1, lc};

Line(9) = {1, 2};
Line(10) = {2, 3};
Line(11) = {3, 4};
Line(12) = {4, 1};
Line(13) = {1, 5};
Line(14) = {2, 6};
Line(15) = {3, 7};
Line(16) = {4, 8};
Line(17) = {5, 6};
Line(18) = {6, 7};
Line(19) = {7, 8};
Line(20) = {5, 8};

Line Loop(27) = {9, 10, 11, 12};
Plane Surface(27) = {27};
Line Loop(29) = {20, -16, 12, 13};
Plane Surface(29) = {29};
Line Loop(31) = {17, -14, -9, 13};
Plane Surface(31) = {31};
Line Loop(33) = {19, -16, -11, 15};
Plane Surface(33) = {33};
Line Loop(35) = {10, 15, -18, -14};
Plane Surface(35) = {35};
Line Loop(37) = {18, 19, -20, 17};
Plane Surface(37) = {37};
Surface Loop(38) = {37, 35, 27, 31, 29, 33};
Volume(39) = {38};

上のコードはジオメトリーしか作れないのでGUIを立ち上げメッシュを作成すべし!


TOEIC

ようやく900点超えました。

思えば留学した仲間の中で唯一900 点取れてませんでした。 理系だからいいのっ! っと言い訳してましたが、これで突っつかれなくてすむぞ。

でもギリだったのは秘密。今度は部屋を出ないで終了時間まで見直しします。

2011/08/20

Gmsh使ってみた

Gmshつかってみた。

感想はめっさ楽〜♪

structuredでもconnetivityのところ創るの大変なんどよね。本当はちゃんとmesherをつくりたいところなんだけどちょっと今は無理なので。

VTKのファイルに入れればいいだけなので簡単に書けそう。

近日中にあぷする予定。

2011/08/19

コンピューター

数値計算が専門なので朝から晩までディスプレイに向かっている毎日です。

さて、私の計算ノードを紹介します。



自作 D510 atom機
新品でも20000円ぐらいしかしなかった。超安物機。並列化すればpentium3には勝てた。

Acer Aspire one 522
アメリカからネット輸入したやつ。ネットブック。ディスプレイとかキーボードが小さいのが難点。うちで唯一のGPGPUマシン。ネットブックとは思えないグラフィック性能を誇る。ただメモリーが少ないのでparaview + firefoxで即swap

ibook G4
 初めて買ったパソコン。まだ現役。漢のPower G4だ! 超鈍足マシン

Sun Microsystems Ultra 20
 中古で20000円ぐらいで購入あんまり使ってない。速さは不明。石はOpeteron144

HP xw4300
研究室のPen4機。自分の管理下にあるマシンでは最速だと思う。でもグラッフィックはネットブックに負ける。



ゲーマーとかがハイスッペクなマシン使ってると羨ましく見える。
というかもっと有意義なことに使ってくだされ。

大きな計算は学校の計算ノードを使うけどね。

日本が世界からどんなふうに見られているか

www.youtube.com/watch?v=bqGtH5DT76c

このビデオから分かることは二つ。

日本は変に思われている。フィンランドも変に思われている。

2011/08/17

何カ国語しゃべれますか?

留学から帰っきたあと結構聞かれて、結構困る質問がこれ。

一応日本語は母国語だし、英語もしゃべれるけど相手がどのくらいのレベルの’会話力’を尋ねているのかわからない。

日本語は大丈夫なナズなのでおいといて。 

英語力が問題。日常会話は問題なし、専門分野(工学)も問題なしだけど。

求人とかに書いてある’ビジネスレベル’ってなんだ? 実は結構ビジネスレベルの表現とか単語とか知らなかったりする。鍛えねば。
 
先程、日常会話は問題なしと書いてしまったが、実は特異ケースがたまにある。それは病院とか非常まれにしか訪れない状況では、言葉が詰まるとこがかなりあった。

たとえば、以前度のような薬を使用していたか、とか病歴を聞かれると。病名とかは病名とかはすぐに出てこない。私の場合、皮膚病でした。

cold とかasthmaとかならいいんだけどね。現実には、都合よく簡単な英単語の病気にはならない。解決策として病院行く前にググったりwikiで調べたり。
 

ちなみに二ヶ国語とかかなり少ない方だと思う。今まであった人の中での最高は大学で一緒だったルクセンブルクの子。何でも8、9ヶ国語ネイティブ。レベルが低くていいいならそれ以上話せるらしい。でもちょっとずるい

彼女が話せる言葉
フランス系ルクセンブルグ語
ドイツ系ルクセンブルグ語
フランス語
ドイツ語
英語
スウェーデン語
デンマーク語
ノルウェー語

この辺は聞く分には問題ないらしい
オランダ語 
スペイン語 

何でもルクセンブルグ語は、フランス語とドイツ語の方言のような感じらしい。ベルギーとかもこんな感じだよね? 彼女曰く’違うのよ’とのこと。 フランス語圏、ドイツ語圏でも通じるとか。スカンジナビア系の言語もそうじゃなかったっけ?

2011/08/07

c++って

使える言語はFortran 90, C, C++, Perl, Sh。 あとfortran77/66もよめる。たまに書き直しする時に使うぐらいだけど。

C++が使えると言っていいのか悪いのかわからい。

正直あんまり自信がない。だって関数多すぎ。わかんないよ全部なんて。一応テンプレートとかわかってるからいいよね? 

カプセル化とかしていないけどさ  いいんだよ!、HPCは速度優先だぁ〜!(開き直り) 

独習C 第4版

独習C++ 第4版

まとめページ

      

リンク

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