私はpythonモジュール(boost :: pythonを使用)を作成しました。これは、ある時点で、いくつかの巨大なオブジェクトの配列(2Dベクトル)を作成します。オブジェクトの合計サイズは数Gbのようなものです。プログラムの実行を開始すると、配列が初期化された場所でハング/スタックします。
// my_object.h
class my_object{
public:
my_object(n){ create a bunch of 2D arrays (double, int, etc.) of size n x n }
};
// extension.cpp
vector<my_object> arr(t,my_object(n)); // t is big, n is big
パラメータt、特にnを減らすと、プログラムはうまく機能します。したがって、Pythonモジュールで大きなオブジェクトの大きな配列を初期化する効率または可能性に問題があるようです。ちなみに、私はそのような大きな配列を格納するのに十分なメモリを持っているので(pbsスクリプトで最大20 Gbまたはメモリを予約します。これらはクラスタ計算です)、メモリが原因で問題が発生することはほとんどありません(その場合、明確なメッセージが表示されます)十分なメモリです)。どうすればそのような問題を克服できますか?前もって感謝します。