1
非常に大きな配列(約2000^3)のfloatで作業する必要があります。また、配列要素をランダムに、または別の非シーケンシャルな方法でルーティングする必要があります。その要素へのランダムアクセスで巨大な配列を操作する
私はstxxlライブラリを使用し、stxxl :: vectorコンテナに自分のデータを格納します。このライブラリは、ディスクにデータを格納し、RAM内のデータのほんの一部で動作します。要素へのランダムアクセスのために、ディスクから頻繁にメモリのチャンクを読み書きする必要があるため、プログラムの処理が遅くなります。
要素を介してランダムなルートで大きなデータを操作する方法を知っている人はいますか? stxxlで可能ですか?
これは約30ギガのデータなので、30ギガのRAMがありランダムアクセス(通常は分散)が必要な場合を除き、ディスクからデータを随時読み込まなければならないことは避けられません。あなたの 'ランダムな'データアクセスのパターンがある場合は、それを何らかの方法で最適化することができます。 – stellarossa
ベクトル上で実行しているアルゴリズム/タスクを指定してください。ほとんどの問題は、純粋にランダムアクセスを必要としません。 – SpamBot
実際に私は2つのタスクを持っています。最初はパターンがありませんが、アレイを分割してパーティションで作業することができます。第2のタスクでは、2つのルートがあります。サイズNの配列の各要素の第1の順次ルート、各2000^2要素を通る第2のルート、各2000^2時間ごとに1つずつシフトするN回。 N = 2000^3である。私のデータは3次元のボクセルです。最初はZ方向、次にX方向に歩きます。 – user2760303