2

これがすべておかしくて不明確に見える場合は申し訳ありませんが、私は現在 Netlogo を学習してエージェントベースの集団行動をモデル化しており、代替ソフトウェアの選択に関するアドバイスを聞きたいと思っています. 私の主なことは、私が理解していることから、並列計算が可能になるため、PyCuda を大いに利用したいということです。しかし、それは、別の環境で数値スクリプトを作成し、さらに別の環境でビジュアルを実装する必要があるということですか?

もしそうなら、私の質問は次のとおりです。

  1. どの数値パッケージを使用すればよいですか? PyEvolve、DEAP、またはその他の何か? PyEvolve はもはや開発されておらず、DEAP は時代遅れの (?) EAP のラッパーに過ぎないようです。

  2. グラフィックに関しては、mayavi2 と vtk が有望だと思います。問題は、数値パッケージのどれもこれらに容易にバインドできないように見えることです。数値出力をデータファイルに保存して、たとえばmayavi2にフィードするよりも良い方法はありますか?

  3. もう 1 つのオプションは、Netlogo を介してデータを生成し、(2) からグラフ作成パッケージにフィードすることです。これを行うことの不利益はありますか?

この混乱に光を当ててくれてありがとう。

4

2 に答える 2

1

重大なパフォーマンスの問題が発生していない限り、ほぼ確実に CUDA を使用したくないでしょう。一般に、CUDA は浮動小数点線形代数の問題を解くのに最適です。並列計算を中心に構築されたフレームワークを探しているなら、必要に応じて GPU を利用できる OpenCL を検討します。

視覚化に関しては、特定のデータ交換形式をターゲットにして、他のプログラムにそのレンダリングを任せることを強くお勧めします。私が VTK のようなものを使用する唯一の理由は、何らかの理由で視覚化プロセスをより詳細に制御する必要がある場合、またはリアルタイムのソリューションを探している場合です。

于 2012-06-25T23:23:03.843 に答える
0

おそらく、視覚化の最良の選択は、中間形式を使用して別のプログラムで実行することです。ただし、パフォーマンスのために、クラスター用にJVMを構成し、その上でNetLogoを実行したいと思います。まだ試していませんが、BeowulfスタイルのクラスターでNetLogoを試すことを真剣に考えています。

ところで、 Pythonでコードを実装することを計画している場合は、Pythonインターフェイスを備えていると言われるRepastと呼ばれるABMプラットフォームがあります。

于 2012-06-26T14:33:17.747 に答える