最近,ブログの更新が多いです.良いのか悪いのか.
さて,今日は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のソースを変更
この部分のコメントを外す.(精度保証付き数値計算をしたい人向け)
2.gfortranが64bit対応してないとダメ(version 4.6.0から?)
MacはOSがほぼ64bitで動いているので,コンパイラが対応してないとエラーになります.ターミナルで
とした時の文を注目,
このversionが大切.4.6くらいあれば行けるハズ.
3.wget をcurlに変更
Makefile内のlapackの部分(以下)を
とcurl文を追加してwgetをコメントアウト.
4.perlのスクリプトf_checkのなかで
と.(ピリオド)をつける.
5.libgoto2_****.dylibというダイナミックリンクが出来ていれば成功!と思いきや・・・exportsというフォルダの中にlibgoto2_penrynp-r1.13.dylib出来ています.キター!
これでGotoBLASをMatlabに連携させて数値計算が出来るようになります.ちなみにGotoBLASは世界で一番速いBLASといわれていて,制作者が後藤さんだからGotoBLASです.スパコンの世界では超有名人です.
さて,今日は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です.スパコンの世界では超有名人です.
0 件のコメント:
コメントを投稿