TSUBAME
TSUBAME で科学計算向けの python 環境を構築するプラクティスをまとめてみました.
どこにインストールするか
人や文化圏によってさまざまなディレクトリ名が用いられていますが,
~/.local
が良いでしょう.Pythonはデフォルトでこちらを用いるほか,Ubuntu向けのグラフィカルなソフトウェアがこちらを用いることもあり,新しい標準になっているようです.
ネットワーク
TSUBAMEのノード群からは外部の通信が禁止されていますが,
Python
./configure --prefix=~/.local --enable-shared 性能の問題あり.PICだから遅い. --enable-thred はデフォルトで入ってるようだから入れなくてもいい make -j48 50秒ほどでコンパイルがおわりる
ライブラリ
python はインストールしたpythonにPATHが通ってると仮定 まずはsetuptools, pipをいれる.
https://pypi.python.org/pypi/setuptools/1.1.6 tarball を展開したあと,
python setup.py install --user
--user で~/.local にインストールされます.
そのあと
easy_install pip
pip 経由でインストールするとパッケージとして管理されるので良い.
Python ライブラリなど
Numpy, Scipy
TSUBAMEにはIntel MKL(数値演算ライブラリ)が入っているので,これを使いましょう.これがあるとないで,性能が圧倒的に違います. 例えばscikit-learnなんかはテストが自動並列化される.
wget, cd cd numpy-1.7.1
ここで
cp site.cfg.example site.cfg
最終行に追加
[mkl] library_dirs = /usr/apps/isv/intel/2013.0.079/composer_xe_2013.0.079/mkl/lib/intel64 include_dirs = /usr/apps/isv/intel/2013.0.079/composer_xe_2013.0.079/mkl/include mkl_libs = mkl_rt lapack_libs =
そのご,
python setup.py config --compiler=intelem build_clib --compiler=intelem build_ext --compiler=intelem build python setup.py install --user
scipyは展開したらそのままcdし,
python setup.py config --compiler=intelem --fcompiler=intelem build_clib --compiler=intelem --fcompiler=intelem build_ext --compiler=intelem --fcompiler=intelem build python setup.py install --user
こちらはそれなりに時間がかかります.(数分ほど)
c.f.
なお,mkl_libs = mkl_rt の意味については以下を参照.
matplotlib
pip install matplotlib
IPython
pip install "ipython==0.12.1" pip install "pyzmq==2.2.0.1" pip install jinja2 sphinx pygments tornado nose readline
IPython profile
ipython profile create
c.NotebookApp.open_browser = False c.IPKernelApp.pylab = "inline" c.NotebookApp.password = …? .NotebookManager.notebook_dir = …
Other libraries
Cython scikit-learn scikit-image (install after Cython) networkx nltk SimPy