Numpy & Scipyで使われているBLAS, LAPACKを知る方法

1. scipy.show_config(), numpy.show_config()
これだと、画面に出力されるだけ。
2. import numpy.distutils.system_info as sysinfo
python - How to check blas/lapack linkage in numpy/scipy? - Stack Overflow
numpy/system_info.py at master · numpy/numpy · GitHub
これはnumpyだけ?

インテルコンパイラ (intel compiler)

インストールやライセンスが管理されるホストマシンの扱いがややこしい。

  • インストールやレジストレーションなど困ったらhttps://registrationcenter.intel.com/に行く。リンクから辿るのではなく、直に行く。このページに行ければ、おおよそ見当がつく(ついてくる)。
  • 特定ユーザーライセンスの場合はコンパイラのパッケージをダウンロードし、インストールの途中でシリアル番号を書くことになる。このときインストースクリプトによってネットワーク経由で自動的にホストマシン情報がインテル側に登録される。
  • インストールのデフォルトディレクトリがよくわからない。「ここにインストールするか?」と聞かれるが、ここがどこかわからないので、Noと答え、インストーディレクトリとして/opt/intelを指定する。
  • 2016-ver4ではダウンロードスクリプトの--download-onlyの挙動がおかしいので、使わないほうがいい。
  • 2016はホスト3台制限があるが、連絡すれば無制限にしてくれるらしい。https://www.xlsoft.com/jp/products/intel/purchase/intel_license.html#ps_cls 説明から読み取れることは、面倒が起こる可能性があるので、困ったときはアレコレ悩まず、無制限にしたほうがいいだろう、ということだ。

microbit (chibibit) block editor

micro:bit : Block Editor Documentation

CUDAのバージョンとVASP-GPUメモリリーク

P100が入った計算機が到着したのでセットアップした。VASP-GPUを走らせてみるとメモリリークを起こす。はじめ原因ははっきりしなかった。CUDAのマイナーバージョン(8.0.61)が問題のなかったもの(8.0.44)と違うことに気づき、古いバージョンをNvidiaのサイトのアーカイブからダウンロードしてインストールした。CUDA Toolkit Archive | NVIDIA Developer networkタイプのパッケージだと、結局最新のものがネットワーク経由でダウンロードされてしまう(要確認)ので、パッケージをまるごとダウンロード(localタイプ)する。1.8GB也。Nvidiaのサイトに書いてある以下の手順通りでバージョン8.0.44がうまくインストールされる。

sudo dpkg -i cuda-repo-ubuntu1404-8-0-local_8.0.44-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda

これでメモリリークが解決した。

Macの設定

zshにするには、環境設定Users & Groupsで自分のアカウントを右クリックして詳細設定から行う。
言語設定で日本語を入れる。キーボードショートカットで、Command+spaceをinput sourceの切り替えに割り振る(spotlightの割り振りを外す)。

フォント

Font BookでRictyをインストールする。
ライセンスによる制約でRictyはデータからフォントを自分で生成する必要がある。
フォントの生成、設定はこの辺を参照。
http://milanista224.blogspot.jp/2013/07/retina-emacs243.html
http://miyano-harikyu.jp/sola/devlog/2013/11/15/post-67/

Ricty Diminishedはフォントとして配布されているので、こっちのほうが簡単。
プログラミング用フォント Ricty Diminished

Macportsと開発環境

XcodeはAppStoreでインストール。それから

sudo xcode-select --install
sudo xcodebuild -license

Macportsをインストール
http://www.macports.org/install.php
http://guide.macports.org/#installing.xcode

XQuartzをインストール
https://xquartz.macosforge.org/landing/

OSのアップグレード時にはmigrationを行う。
https://trac.macports.org/wiki/Migration

ターミナルはiTerm2が使いやすい。iTerm2 - macOS Terminal Replacementからインストールする。もしくはportで

sudo port install iterm2

Emacsのためにoptionキーにmetaを割り振るには、profile -> keyで設定すればよい。+escを選ぶ。

gccのインストール

sudo port install gcc6
sudo port select --set gcc mp-gcc6

OpenBLASのインストール

sudo port install OpenBLAS +gcc6

このパッケージはblas, lapack, lapackeを含んでいる。/opt/local/lib/libopenblas.*がライブラリ。/opt/local/include/以下にヘッダファイルがある。

Python 2.7

sudo port install python27
sudo port select  --set python python27

(Jan 12, 2017) python27のインストールログによるとpy27-readlineのインストールをした方が良いらしい。

sudo port install py27-readline

Numpyなどのインストール

sudo port install fftw-3 +gcc6
sudo port install py27-numpy +gcc6 +openblas
sudo port install py27-scipy +gcc6 +openblas

OpenBLASに関しては、export OPENBLAS_NUM_THREADS=1を設定した方が安全かも。
Faq · xianyi/OpenBLAS Wiki · GitHub

IPythonはnumpy dependentなので、numpyのあとにインストール

sudo port install py27-ipython
sudo port select --set ipython py27-ipython

その他python library

sudo port install py27-matplotlib py27-yaml
sudo port install py27-h5py +gcc6

sphinx

sudo port install py27-pip
sudo port select --set pip pip27
pip install Sphinx --user
pip install sphinx-bootstrap-theme --user

dvipngはmactexのパッケージに含まれる。mactexをインストールしている環境で、portsからdvipngを入れると、matplotlibの数式記入でトラブルが起きる。

その他ツール

sudo port install tmux ispell sshfs

あたりをインストールsubversion, gitはすでに入っている。

dircolorsを使いたい場合は

sudo port install coreutils

で、gls、gdircolorsなどがインストールされる。

Ruby
OS Xrubyは入っているようだけど、travisを使いたい、ruby C-APIを使うときにこけるなどあればportからインストールする。

sudo port install ruby23
sudo port select --set ruby ruby23

gemでtravisのコマンドをインストール

gem install --user-install  travis
    • user-installする場合、~/.gem/ruby/2.0.0/binなどにPATHを通す必要がある。

Gnuplot

sudo port install gnuplot

aquatermのインストールでこけたので、

sudo port install gnuplot -aquaterm

として、aquatermをはずす。aquaよりwxtの方が良さそうなので、むしろaquaterm無くて良いかも。

Imagemagick

sudo port install ImageMagick

Mayavi。まずvtkをインストールしてから。

sudo port install vtk +python27
sudo port install py27-mayavi

v_simのコンパイルのためにgtkのインストール

sudo port install gtk2 intltool

emacs

El Capitanのemacs-appではvisible-bellによってウインドウ中央に空白が残ってしまうようになった。emacs-mac-appでは問題なし。

sudo port install emacs-mac-app

applications/macportsに入る。emacsのシェルのエイリアスを作る。

alias emacs="/Applications/MacPorts/Emacs.app/Contents/MacOS/Emacs"

Commandキーをmeta keyとするためには以下の設定を行う。

(setq mac-option-key-is-meta nil)
(setq mac-command-key-is-meta t)
(setq mac-command-modifier 'meta)
(setq mac-option-modifier nil)

http://www.emacswiki.org/emacs/MetaKeyProblems#toc15

ターミナル内でemacsを使うとき(-nw)にフォントの設定あたりでコケるので、そのときは設定を読み込まないようにする。
http://stackoverflow.com/questions/3861857/emacs-check-for-no-window-system-in-emacs

(when window-system
  ...
)

flyspell-modeでispellの代わりにaspellを使う場合

sudo port install aspell aspell-dict-en

でインストールして、次の設定を加える

(setq ispell-list-command "--list")

参考: http://www.emacswiki.org/emacs/FlySpell#toc8


Tex環境

Texの環境はMacTexというのをインストールすればだいたい整うらしい。
http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?Mac
REVTexも入っているようだ。
http://publish.aps.org/revtex/revtex-faq
YaTeXはこれを参考に
http://salinger.github.io/blog/2013/02/04/1/
Skim. Preferenceのsyncを設定。
http://skim-app.sourceforge.net/


Time Machineで復旧した場合、MacTex環境が壊れるようなので、そのときは再インストールを行う。

Lapack Lapackeの使い方

lapackeのmake.inc

LAPACKLIB    = /opt/local/lib/liblapack.a
LAPACKELIB   = liblapacke.a

distutilでC拡張を書くときのsetup.py

    extra_link_args=['-lgomp',
                     '../lapack-3.5.0/liblapacke.a'],