Difference between revisions of "Tutorials:Alpsize-09 Scheduler/ja"
From ALPS
(Created page with "{{Languages|Tutorials:Alpsize-09_Scheduler}} =ALPS/parapackスケジューラの利用= ALPS/parapackスケジューラの利用には、次の利点があります。 * パラ…") |
|||
Line 9: | Line 9: | ||
* 交換法のためのアダプタなどがすでに用意されている | * 交換法のためのアダプタなどがすでに用意されている | ||
− | ==ALPS/ | + | ==ALPS/parapackスケジューラによる完全ALPS化== |
* シミュレーションコードをWorkerクラスにカプセル化する | * シミュレーションコードをWorkerクラスにカプセル化する | ||
* Workerクラスは、alps::parapack::abstract_worker、alps::parapack::mc_worker、alps::parapack::lattice_mc_worker、alps::parapack::latticemodel_mc_workerのいずれかを継承する | * Workerクラスは、alps::parapack::abstract_worker、alps::parapack::mc_worker、alps::parapack::lattice_mc_worker、alps::parapack::latticemodel_mc_workerのいずれかを継承する | ||
Line 24: | Line 24: | ||
==サンプルコード== | ==サンプルコード== | ||
− | |||
* [https://alps.comp-phys.org/svn/alps1/trunk/alps/tutorials/alpsize-09-scheduler/ tutorials/alpsize-09-scheduler/] | * [https://alps.comp-phys.org/svn/alps1/trunk/alps/tutorials/alpsize-09-scheduler/ tutorials/alpsize-09-scheduler/] |
Latest revision as of 01:55, 2 May 2013
Languages: |
English • 日本語 (ja) • 繁體中文 (zh-tw) • 简体中文 (zh) |
ALPS/parapackスケジューラの利用
ALPS/parapackスケジューラの利用には、次の利点があります。
- パラメータ並列化が簡単におこなえる
- PCでもサーバーでもスパコンでも同じように動作する
- 結果の処理が簡単
- すでに並列化されているコードの多重並列化も簡単
- 交換法のためのアダプタなどがすでに用意されている
ALPS/parapackスケジューラによる完全ALPS化
- シミュレーションコードをWorkerクラスにカプセル化する
- Workerクラスは、alps::parapack::abstract_worker、alps::parapack::mc_worker、alps::parapack::lattice_mc_worker、alps::parapack::latticemodel_mc_workerのいずれかを継承する
- mc_worker、lattice_mc_worker、latticemodel_mc_workerはrng_helperを継承しているので、rng_helperの機能が中で使用できる
- lattice_mc_worker、latticemodel_mc_workerはlattice_helperを継承しているので、lattice_helperの機能が中で使用できる
- latticemodel_mc_workerはmodel_helperを継承しているので、model_helperの機能が中で使用できる
- Workerクラスが実装しなければならない関数
- コンストラクタ、init_obserbablesメンバー関数
- runメンバー関数
- is_thermalized&progressメンバ関数
- save & loadメンバ関数
- PARAPACK_REGISTER_WORKERマクロを用いてWorkerをスケジューラに登録 (実行時にALGORITHMパラメータでWorkerを選択できる)
- スケジューラがParametersとObservableSetを準備し、コンストラクタ、init_observables関数、run関数を引き渡す