最適化問題に対する超高速&安定計算

大規模最適化問題、グラフ探索、機械学習やデジタルツインなどの研究のお話が中心

Parallel Python

2008年01月30日 00時42分01秒 | Weblog
Parallel Python を使うと Python から簡単にジョブ並列(タスク並列)を行うことができる。以下のような環境で使用することができる。Linux マシン(クラスタ)で試したみたところ、確かに簡単に出来た。

1: SMP(マルチコアも含む)のマシンで並列計算
2: クラスタ計算機上での並列計算 (1も含む)

Parallel Python をダウンロードページから入手して、展開した後に python setup.py install とすればインストールは終わり(管理者権限のユーザで行う必要あり)。サンプルファイルとして配布されている sum_primes.py を用いてみよう。

1 の場合:
python sum_primes.py [ncpus] とすれば良い。[ncpus] は同時に使用する CPU(コア) の数。

1CPU : 5.731s
2CPU : 3.012s
4CPU : 1.628s
8CPU : 1.078s

2 の場合:
実行したいノード上で ./ppserver.py とサーバプロセスを起動する。その後でソースファイルの ppservers=("node-1", "node-2", "node-3") の部分を変更する。

これらのサンプルを見れば、実装方法は簡単に理解できる。Ninf と同じようにタスク並列を行うことができるが、こちらの方が簡単。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする