問題タブ [petsc]

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.

0 投票する
1 に答える
175 参照

haskell - Haskell での PETSc FFI のライブラリ設計

メモリとエラー管理をユーザーから隠すために、FFI インターフェイスを介して Haskell から PETScライブラリ(のサブセット) を利用できるようにしたいと考えています。

  • 以下に示すコマンドで共有ライブラリを使用して PETSc 3.5.3 をビルドすると、テスト スイートが正常に実行されます。
  • ヘッダーのインポート、タイプ、および 2 つの外部関数インターフェイスの例を含む .hsc ファイル #2 を準備しました
  • ビルドを自動化する Makefile #3 を準備しました。make test1ロードされたモジュールで GHCi を渡し、起動します。

ライブラリは、MPI と完全に分散されたデータ構造によって有効化された並列操作に優れているため、ほとんどの操作 (すべてのデータ アセンブリ、計算、および割り当て解除はライブラリ プリミティブによって行われる必要があります) の間、Haskell で大量のデータ トラフィックを期待する必要はありませんが、"データ準備完了」。PETSc 関連の Haskell 関数は、純粋性を保証できないため、主に IO モナドに値を持ちます (たとえば、返される C エラー コードは、プログラムの外部の理由により異なる場合があります)。

  • unsafePerformIOallocaメモリとエラー管理をラップする必要があります。この考え方は正しいでしょうか?悪いアイデア
  • GHC でコンパイルされたバイナリは で実行できますmpirunか?はい

私はすべての提案と発言を受け入れます。前もって感謝します

-- 注記: GHC に実行可能なバイナリを生成してもらいたい: mpirunGHC コマンド ラインからリンカーにオプションを-optlフラグ (参照here ) で渡すことができるため、次のような組み合わせが提案されていghc -optl-static -lmpichます。これについては、試してみることができ次第、追加します。

1) 構成コマンド:

2) PETSC.hsc

3) メイクファイル

0 投票する
1 に答える
67 参照

c - mpicc の PETSc エラー

放射伝達を伴う水力シミュレーションに C のコードを使用しています。ローカル マシンでコンパイルした PETSc が必要です。しかし、コードをコンパイルすると、エラーメッセージが表示されます: error: ’__SDIR__’ undeclared(この関数で最初に使用)。メイクファイルには次のものがあります。

誰でも解決策を提案できますか?

0 投票する
1 に答える
1141 参照

python - petsc4py: csc_matrix から AIJ マトリックスを作成すると TypeError が発生する

既存のcsc-matrixからpetsc-matrixフォームを作成しようとしています。これを念頭に置い、次のサンプルコードを作成しました。

これは、行列が実数値のみで構成されている限り、完全に機能します。マトリックスが複雑な場合、このコードを実行すると TypeError: Cannot cast array data from dtype('complex128') to dtype('float64') according to the rule 'safe'. エラーが発生した場所を正確に把握しようとしましたが、トレースバックをあまり理解できませんでした。

複雑なscipy cscマトリックスからpetscマトリックス(後でいくつかの固有ペアを取得したい)を作成する効率的な方法はありますか?

私の(できればあまり明白ではない)間違いを見つけるのを手伝ってくれたら、本当にうれしいです。

0 投票する
0 に答える
69 参照

c - 構造体内の PETSc C マクロ

PETSc では、以下の 4 つのスニペットのように、Vec、Mat、IS などの多くの一般的な構造が同様に定義されています。質問:

  • PETSCHEADER はいつ、どのように拡張されますか? 私は別の言語から外国語インターフェースを書いていますが、関数でマクロをラップする必要があるかどうか疑問に思っていました。
  • hdrとのスコープは何opsですか?

前もって感謝します


petscvec.h

vecimpl.h

petscimpl.h

vecimpl.h