問題タブ [chapel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
arrays - Chapel: 配列の配列 vs メモリ上の 2-dim 配列
Chapelでは という表記を使って配列を宣言できるよう[][]
です。これは他の言語の「配列の配列」に非常に似ているので、各サブ配列がメモリ内で個別に割り当てられた、いわゆる「ギザギザ配列」ではないかと思います。たとえば、次のコードでは、メモリ内で連続しているa[0][..]
とは限りませんか? a[1][..]
(ここでの私の関心は、そのような使用が非連続メモリの[][]
場合よりも効率が悪いかどうかです。)[,]
関連する質問は次のとおりです。特定の変数または配列要素のメモリ位置 (アドレス) を知る (メモリ割り当てに関する情報を取得する) 方法またはコマンドはありますか?
python - Chapel を使用して大規模なマトリックスを処理する
私は最近 Chapel に出会ったので、ぜひ試してみたいと思っています。私はそれが解決できることを望んでいる2つの問題を抱えています。
私は通常、Python または C++ で作業します。追い詰められたジャバ。
私は2つの行列I
とを持っていV
ます。どちらもまばらで、約 600K x 600K のサイズで、約 1% の密度で配置されています。
まず、SciPy を使用して、現時点で SQL データベースからメモリに両方を読み込むことができます。ただし、次のイテレーションはマシンには大きすぎると予想しています。おそらく1.5M^2。そのような場合、Spark からの RDD は負荷に対して機能する可能性があります。これを実現するための PyTables を入手できませんでした。これは「アウトオブコア」の問題として説明されていることを理解しています。
ロードされたとしてもI'IV
、数分で OOM になります。(I'
これは転置です)ので、この乗算を複数のコア(SciPyで実行できます)と複数のマシン(私の知る限り、できません)に分散することを検討しています。ここで、スパークは倒れますが、いわばチャペルは私の祈りに応えてくれるようです。
重大な制限は、マシンの予算です。たとえば、私はクレイを買う余裕がありません。チャペル コミュニティには、このパターンがありますか?