モジュール内部からのカレントディレクトリの取得
実行スクリプトからモジュールを呼び出す場合、モジュール内部からモジュール本体のパスを取得する方法。
単純にos.getcwd()を使うと実行スクリプトのカレントディレクトリを取得してしまう。
呼び出しているモジュール中で、モジュールのカレントディレクトリを扱いたい場合、
inspectモジュールを使うTIPS。[From stackoverflow]
import inspect import os filename = inspect.getfile( inspect.currentframe() ) # module file name dirpath = os.path.dirname( inspect.getfile( inspect.currentframe() ) ) # module directory
絶対パスもabspathを使えば取得できる。
Django + South
Djangoではモデルの変更には対応できないのでSouth ( ver0.7 ) を導入。
できること:
モデルのフィールドの変更?
できないこと:
モデル名の変更など
モデルの同一性を判別できない以上、リネームは無理っぽいね。それなら手動でやったほうが早いし確実。
Xerces Static Library
Visual Studio 2010でXerces XMLを使ってはまったのでメモ。
プリプロセッサの前処理シンボルにXERCES_STATIC_LIBRARYを指定すること。
指定しない場合、リンク時に未解決のシンボルエラーが発生する。
以上。
MPICH2 on Windows7 64bit with visual studio 2010
1台のPCで並列処理を行う場合、openMP と MPI の2通りがあるらしい。
MPI はPCクラスタ上で実行する分散処理フレームワークだけれども、一台で実行する場合でもopenMP以上の性能が出る場合があるとのことなので、まずインストールをやってみた。
1, MPICH2 or OpenMPI
MPIには openMPI, MPICHなどいくつかの実装がある。openMPIはver1.5からwindowsバイナリの配布が始まったけど、実例が少なそうなので却下。
MPICHの方はこなれた実装らしく、割と情報が多かった。
2, MPICH2のインストール
MPICH本家のサイトよりWindows用バイナリをダウンロード。
最新版はなぜかリンク切れでダウンロード出来なかったので、少し古いバージョンをインストールした。
[注意]
Windows版では、インストール作業を管理者権限で行う必要があり、インストーラーのアイコンから起動してもダメ。
コマンドプロンプトを管理者権限で実行し、以下のコマンドを叩いてインストール。
msiexec /I [インストーラー.msi]
, サンプル
インストールするとサンプルも同時にインストールされる。
[INSTALL_DIR/example] にサンプルがあるので
mpiexec -n [サンプルexe]
で実行出来るか試す。
ここで実行できない場合、MPICHのインストールを管理者権限で行っていない、ファイヤーウォールを開けていないなどが考えられる。
PCクラスタ上で計算する場合は各PCにMPICHをインストールして、アカウントを登録しる必要があるが、今回は単なる並列処理なので省略。
, 設定
Visual Studio 2010でコンパイルしてみる。
設定としては、
1, Include ディレクトリ
2, ライブラリディレクトリ
3, ライブラリファイルをプロジェクトに追加
が必要。1,2 で十分かと思ったが、3がないとコンパイルできない。
サンプルと同じようにコマンドプロンプトから
mpiexec -n [実行ファイル]
で実行。
MPICH2 on Windows7 64bit with visual studio2010
1台のPCで並列処理を行う場合、openMP と MPI の2通りがあるらしい。
MPI はPCクラスタ上で実行する分散処理フレームワークだけれども、一台で実行する場合でもopenMP以上の性能が出る場合があるとのことなので、まずインストールをやってみた。
1, MPICH2 or OpenMPI
MPIには openMPI, MPICHなどいくつかの実装がある。openMPIはver1.5からwindowsバイナリの配布が始まったけど、実例が少なそうなので却下。
MPICHの方はこなれた実装らしく、割と情報が多かった。
2, MPICH2のインストール
MPICH本家のサイトよりWindows用バイナリをダウンロード。
最新版はなぜかリンク切れでダウンロード出来なかったので、少し古いバージョンをインストールした。
[注意]
Windows版では、インストール作業を管理者権限で行う必要があり、インストーラーのアイコンから起動してもダメ。
コマンドプロンプトを管理者権限で実行し、以下のコマンドを叩いてインストール。
msiexec /I [インストーラー.msi]
, サンプル
インストールするとサンプルも同時にインストールされる。
[INSTALL_DIR/example] にサンプルがあるので
mpiexec -n [サンプルexe]
で実行出来るか試す。
ここで実行できない場合、MPICHのインストールを管理者権限で行っていない、ファイヤーウォールを開けていないなどが考えられる。
PCクラスタ上で計算する場合は各PCにMPICHをインストールして、アカウントを登録しる必要があるが、今回は単なる並列処理なので省略。
, 設定
Visual Studio 2010でコンパイルしてみる。
設定としては、
1, Include ディレクトリ
2, ライブラリディレクトリ
3, ライブラリファイルをプロジェクトに追加
が必要。1,2 で十分かと思ったが、3がないとコンパイルできない。
サンプルと同じようにコマンドプロンプトから
mpiexec -n [実行ファイル]
で実行。