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