2011/04/11

【BLAS】GotoBLAS2をMacBook Air (late2010)でビルド

最近,ブログの更新が多いです.良いのか悪いのか.

さて,今日はBLASの1つである,GotoBLAS2をMacBook Air late 2010(2.13GHz Intel Core 2 Duo, penryn?)上でmakeします.以下はその記録.なぜかは聞かないでください.研究で必要なんです.Xcodeが入っている状態を仮定します.


目的:
Macbook air (late2010)に最適化したGotoBLAS2の共有ライブラリ(.dylib)をつくる.

インストール方法:
下記のページ(University of Texas Austin)

GotoBLAS2|Texas Advanced Computing Center

からGotoBLAS2をダウンロード→解凍→makeでOKとReadmeには書いてあります.これだけ!

が,まぁそんな上手く行きません.ちょこっと変更が必要.

やること5つ:

1.Makefile.ruleのソースを変更

# If you need to synchronize FP CSR between threads (for x86/x86_64 only).
CONSISTENT_FPCSR = 1

この部分のコメントを外す.(精度保証付き数値計算をしたい人向け)

2.gfortranが64bit対応してないとダメ(version 4.6.0から?)
MacはOSがほぼ64bitで動いているので,コンパイラが対応してないとエラーになります.ターミナルで

gfortran -v

とした時の文を注目,

Using built-in specs.
COLLECT_GCC=gfortran
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-apple-darwin10.4.0/4.6.0/lto-wrapper
Target: x86_64-apple-darwin10.4.0
Configured with: ../gcc-4.6-20101106/configure --enable-languages=fortran
Thread model: posix
gcc version 4.6.0 20101106 (experimental) (GCC)

このversionが大切.4.6くらいあれば行けるハズ.

3.wget をcurlに変更
Makefile内のlapackの部分(以下)を

lapack-3.1.1.tgz :
ifndef NOFORTRAN
#       -wget http://www.netlib.org/lapack/lapack-3.1.1.tgz
        -curl -0 http://www.netlib.org/lapack/lapack-3.1.1.tgz
endif

とcurl文を追加してwgetをコメントアウト.

4.perlのスクリプトf_checkのなかで

$flags =~ /^\-l/ → $flags =~ /^\-l./

と.(ピリオド)をつける.

5.libgoto2_****.dylibというダイナミックリンクが出来ていれば成功!と思いきや・・・exportsというフォルダの中にlibgoto2_penrynp-r1.13.dylib出来ています.キター!

これでGotoBLASをMatlabに連携させて数値計算が出来るようになります.ちなみにGotoBLASは世界で一番速いBLASといわれていて,制作者が後藤さんだからGotoBLASです.スパコンの世界では超有名人です.

2011/04/05

【Mac】Web共有の公開先フォルダ

新学期がキタ!
このブログはいつでもマイペースでいきますので,新年度とかあまり関係がありません.

あ,でも今年度から身分が少し変わりました.詳しくはホームページを参照してください.

Akitoshi TAKAYASU -Home Page-

さて今日は備忘録.

Snow leopardでWeb共有するとすぐにWebページを公開することが出来ます.クリック1つであなたのマシンがWebサーバーになっちゃうのです.このとき,httpでどのフォルダを見に行かせるんだ?というワケでメモ.ちなみにMacでホームページのホームページ公開は

システム環境設定→共有→Web 共有

にチェック入れるだけです.さてその公開フォルダですが,

/Library/WebServer/Documents/

です.ここがいわゆるpublic_html(DocumentRoot)の代わり.この直下にindex.htmlをおけば

http://(サーバーIP)/

にアクセスがあった時にまず読み込まれます.
本当ならはapacheだのDNSといったコトを説明するべきなのですが,あくまで自分メモなので.必要になったら書きます.

2011/03/22

【雑感】ぽぽぽぽ〜ん!全力まとめ

世の中がだいぶ元に戻ってきました。被災された方は心からお見舞い申し上げます。

が、皆さんの頭の中は「エ〜シ〜♪」と「ぽぽぽぽーん」に支配されてませんか?はい、忘れたくても脳内で繰り返し流れて、ほぼ洗脳状態に近いですね。

というコトで、全力でまとめてやります。

まずは基本の「あいさつの魔法」30秒ver.


さらに15秒ver.


次はレアもの。ただいマンボウがTVで見られる確率は250分の1とか200分の1とか言われてます。


まだまだ。120秒に編集した人が(笑)


上には上がいる。14分耐久バージョン。466回のぽぽぽぽーん...さすがに勘弁してほしい。


お次ぎはYouTubeおなじみ、逆再生。


これもおなじみ「with みのもんた」。


編集有りだと、Remixがいろいろでてきます.これはかっこいい!


もはや、もとがわからない。しかし、やたらかっこいい。


亜種が出現。一躍有名になった「グレートありがとうさぎ!」


【おまけ】
こだまでしょうか、いいえ修造です。


人気急上昇の枝野さん、個人的にはこの動画は好きです.


私からは以上です。僕の頭がおかしくなったのでしょうか、いいえ誰でも。

また明日から頑張ろう!

2011/03/12

【Matlab】Intlabかんたんインストールマニュアル

地震って伝染するものなのね・・・
怖くて起きていますが,せっかくなのでブログを積極更新!

今回はIntlab (INTerval LABoratory)の導入法をまとめます.Intlabとは区間演算を行うためのMATLAB ToolboxでドイツのS.M. Rump教授によって開発されました.精度保証付き数値計算の世界ではとても有名.その他の分野でも使用している人が多数います.その最大の利点は簡単!ということ.区間演算が驚くほど簡単にできるのです.ならばインストールも簡単にしよう!

以下では,スゲーかんたんにINTLABを導入する方法を説明します.

方針:
・簡単,シンプル
・Macの環境でセットアップしますが,Win, Linuxどれも同じ(はず)
・これだけ簡単ならば入れられる

方法:
IntlabはAcademic purpose に限り無料です.ドイツのページ


の`Download INTLAB and...' からダウンロードします.Mac, Linux系は`INTLAB source code for Unix' から,Windowsは`INTLAB source code for Windows' からできます.出てきたZipファイルの中身(いまなら,Intlab_V6)を適当な場所にコピー.

MatlabでPathを通します.それができれば,あと2ステップだけ.
  1. startup.mの11行目に以下を追加:
    cd('(your workspace)/Intlab_V6')
    try...
  2. startintlab.mの約164行目のコメントの後に
  3. % uncomment and adapt this statement if necessary   cd('your workspace')
と自分のworkspaceに戻す命令をやってやればOK!これでMatlabを再起動すれば,スタートするはず.Path通して,2カ所書き換える.これだけ.

注意:
Macの場合,セットアップの最後にPress any key... って何か押すとフリーズします.でも華麗に強制終了(alt+command+esc)→ 再起動でOKです!?(みんなそうなので・・・)

ちなみに開発者のRump先生は日本好き,ほぼ日本人です(笑)