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

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

Gurobi でのスレッド数の変更

2011年04月18日 01時07分21秒 | Weblog
Gurobi では特にユーザーが設定しなくても、計算機内の CPU コア数を検知して並列計算を行なうようになっているが、以下のように m.setParam('Threads', 1)とすると並列計算のスレッド数を 1 に変更することができる(この計算サーバの場合では初期値は 48)。

gurobi> m = read('roll3000.mps')
gurobi> m.setParam('Threads', 1)
gurobi> m.optimize()

○問題 rol3000.mps (MPILIB2003)
Gurobi 48 スレッド : 63.69秒
Gurobi 1 スレッド : 160.07秒

○計算サーバ : (4 CPU x 12 コア = 48 コア)
CPU : AMD Opteron 6174 (2.20GHz / 12MB L3) x 4個
メモリ : 256GB (16 x 16GB / 1066MHz)
OS : Fedora 14 for x86_64
コメント (1)    この記事についてブログを書く
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« Sandy Bridge と SDPA その3 | トップ | Sandy Bridge と Nehalem »
最新の画像もっと見る

1 コメント

コメント日が  古い順  |   新しい順
Unknown (Yuji)
2011-04-19 18:32:40
個人的には,1スレッドの実行から48スレッドの実行まで順に行って,解いたノード数と計算時間が見たいです.Gurobiはdeterministic並列ですが,単調に加速というのは無理なはずで,ある程,加速・減速を繰り返すと思いまが,どのあたりで加速しなくなっているのか,あるいはまだ加速するのか見たいです.余裕があったらお願いします.

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。

Weblog」カテゴリの最新記事