問題タブ [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.
ascii - PETSc における「ASCII」と「バイナリ」形式の違い
バイナリ形式と ASCII 形式の違いを知りたかったのです。問題は、行列操作を行うために PETSc を使用する必要があり、すべての行列がテキスト ファイルに保存されていることです。
PETSc には、これらの形式を処理するためのさまざまな規則があります。テキスト ファイルの形式は言うまでもなく、これらの形式が何であるかもわかりません。
あるフォーマットを別のフォーマットに変換する方法はありますか?
これは基本的な質問です。詳細な回答は、これを理解するのに本当に役立ちます。
parallel-processing - ksp ガイドを使用した PETSc 解法線形システム
線形連立方程式を並列に解くために PETSc ライブラリを使用し始めています。すべてのパッケージをインストールし、petsc/src/ksp/ksp/examples/tutorials/ フォルダー内のサンプルを正常にビルドして実行しました (ex.c など)。
しかし、行列 A、X、B を、たとえばファイルから読み取って埋める方法がわかりませんでした。
ここでは、ex2.c ファイル内のコードを提供します。
誰かが例の中で自分の行列を埋める方法を知っていますか?
c - PETSc の例が機能しない
私はWindows 7 OSを持っています。PETSc Web ページの指示に従いました。VS 2005 のコマンド プロンプトで、次のコマンドを使用して cygwin を開き、PETSc をインストールしました。
Web ページから次の例を実行しようとしました。
ex2.c は ac プログラム コードです。次のエラーが表示されます。
これは何が原因ですか?
(そしてもっと重要なこと)どうすれば修正できますか?
*編集: 一般的な回答も使用できます。なぜなら、現時点では Google で何を検索すればよいかさえわからず、すべてについて PETSc サポートに連絡するだけでは気が進まないからです。
Ubuntuで作業することにしました。それでは、これが契約です。インストール後、次のように書きます。
gcc -I$PETSC_DIR/include -L$PETSC_DIR/$PETSC_ARCH/lib -libpetsc ex2
コマンドラインで。エラーメッセージが表示されます:
/usr/bin/ld: -libpetsc ex2 が見つかりません: 関数
_start': (.text+0x1bc4): multiple definition of
_start 内に /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/crt1.o :(.text+0x0): ここで最初に定義 ex2: 関数_fini': (.fini+0x0): multiple definition of
_fini 内' /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/crti.o :(.fini+0x0): 最初にここで定義 ex2:(.rodata+0x0):_IO_stdin_used' /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/crt1.o:(.rodata.cst4+0x0): first defined here ex2: In function
__data_start' の複数定義: (.data+0x0):__data_start' /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/crt1.o:(.data+0x0): first defined here ex2: In function
__data_start' の複数定義: (.data+0x8):__dso_handle' /usr/lib/gcc/x86_64-linux-gnu/4.6/crtbegin.o:(.data+0x0): first defined here ex2: In function
_initの複数定義': (.init+0x0): `_init' の複数定義 /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/crti.o:( .init+0x0): ここで最初に定義された collect2: ld が 1 つの終了ステータスを返しました
ubuntu - シグナル: Ubuntu の PETSc でのセグメンテーション違反 (11)
私は MPI と PETSc の初心者です。システムに PETSc と MPICH2 をインストールし、最も単純な Hello World を実行しようとしました。しかし、意図した出力の代わりに、意味のないものがたくさん出てきます。
私のメイクファイルは次のとおりです。
私のプログラムは次のとおりです。
ターミナルの「make」は与えませんが、次の
「mpiexec -np 4 Exam_petsc1」は、次のようなエラーの長いリストを提供します....
私のプログラムのどこが悪いのですか???
vector - PETSc ベクトル/マトリックスが破壊されたかどうかを確認する適切な方法は?
単体テストでは、PETSc ベクターが破棄されていることを確認しようとしています。ただし、これを適切に行う適切なコマンドが見つからないようです。私ができる最善の方法は、VecSetType(...) を呼び出してエラーを確認することです。ただし、これは PETSC_ERROR 出力を書き込みます。特にエラーが予想されるため、書き込みたくありません。何か考えや提案はありますか?
ありがとう。
c++ - PETSc PF オブジェクトとユーザー定義関数
現在、モジュール化する必要がある大規模な PETSc プログラムを使用しています。PETSc で PF オブジェクトを使用する必要があります (少なくとも、MPI ベクトルを使用して十分な柔軟性を備えた引数として関数を渡す必要があるためだと思います。他に方法はありますか?)立ち往生しています。任意の提案や例をいただければ幸いです。
PFApply
さらに、 orを使用するたびにPFApplyVec
コンパイルされますが、実行時に次のような結果が得られます
「src/vec/pf/interface/pf.c の PFApplyVec() 行 202 で MPI_Abbort (MPI_COMM_WORLD,-36453747642) と呼ばれるアプリケーション」
python - petsc4pyの入力としてのscipyスパース行列
csr_matrix
scipyのスパース行列などをpetsc4py行列に効率的にロードする方法を見つけることができないようですPETSc.Mat().createAIJ
。このスレッドを見つけましたが、適用できません。
また、このようなものが実際に文書化されているポインタをいただければ幸いです。ディレクトリ内の例は demo
一部を説明しているだけで、docstringは表示されません。
cuda - MPI プロトコルによって相互作用する異なるクラスター ノードに配置された複数の GPU でポアソン方程式を解く
MPI ライブラリを使用して C/CUDA のコードを使用して、マルチ GPU アーキテクチャ上の実空間でポアソン方程式を解こうとしています。今のところ、周期的な箱の問題を解くことだけに興味があります。しかし、将来的には、球面幾何学を調べたいと思うかもしれません。
この問題を解決する既存のルーチンはありますか? 2012 年 8 月の日付のコメントは、推力ライブラリがマルチ GPU アーキテクチャに適合していないことを示しているようです。それはまだ正しいですか?
ルーチンが存在する場合、どの方法を使用しますか (Jacobi、SOR、Gauss-Seidel、Krylov)? その速度と発生した可能性のある問題について、ご意見をお聞かせください。
御時間ありがとうございます。
c - CMake 使用時に PETSc プログラムをリンクする際の問題
私はUbuntu 13.04 64ビットを使用しており、CMakeを使用してPETScで「Hello world」プログラムを構築しようとしています。
次のプログラムがありますsolve1.c
(PETSc の例の ex1.c に大まかに基づいています)。これは、単純な線形方程式系を解きます。
これは私の作成の試みですCMakeLists.txt
(さまざまな PETSc チュートリアルと Web 上にあるプロジェクトに基づいています):
さらに、https ://github.com/jedbrown/cmake-modules ( PETSc FAQで推奨されている)から取得した、、、およびcmake-modules
ファイルがあるディレクトリがあります。CorrectWindowsPaths.cmake
FindPETSc.cmake
FindPackageMultipass.cmake
ResolveCompilerPaths.cmake
私はこの方法でプロジェクトを構築しています (最初は私のプロジェクトのルートディレクトリに立っています/home/ruben/hello
):
残念ながら、make コマンドはリンカー エラーで失敗します。これはCMakeからの出力です(これは良さそうです):
からの出力は次のmake VERBOSE=1
とおりです(これは良くありません):
PETSc FAQは、 DohpプロジェクトCMakeLists.txt
から参照することを推奨しています。残念ながら、この CMake ファイルは理解しにくいことがわかり (Dohp は特に小さな例ではなく、PETSc 以外にも依存関係があります)、このファイルを使用してリンカー エラーを修正することができませんでした。
私の質問: 私の何が問題で、CMakeLists.txt
どうすれば修正できますか? (または、私の CMake ファイルが正しい場合: 他にどのような間違いをしましたか?)
いくつかの追加情報: 私は PETSc 3.4.2 (/home/ruben/petsc-3.4.2/
にインストールされ、使用したい MPI と共にインストール)、CMake 2.8.10.1、gcc 4.8.1 をすべて Intel i7-3930k 上の Ubuntu 13.04 64 ビットで使用しています。通常のメイクファイルを使用して上記のプログラムをコンパイルして実行することができ、これまでに試したすべての PETSc の例をコンパイルして実行することができました。