RokkoWrapperSparseSolvers - t-sakashita/rokko GitHub Wiki
疎行列のラッパー
SLEPc
MatSetValues
:インデックスは全て、グローバル。 自プロセスが持っていない行を指定した場合、自動でMPI通信により、担当しているプロセスで格納されるようだ。INSERT_VALUES
を用いると、complete時に既にある値に足し込まれる。ADD_VALUES
を使うと、格納した行列の値がおかしくなる。ADD_VALUES
は、既に格納されている値にしか使えないようだ。- 自プロセスが持っていない行が与えられたとき、担当するプロセスに自動で通信されるようだ。
http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MatSetValues.html
Anasazi
InsertGlobalValues
とInsertGlobalValues
- 自プロセスが持っていない行が与えられたとき無視される。通信はされない。
- complete実行時に既にある値に足し込まれる。
InsertGlobalValues
: 引数rowとcolsのインデックスがローカルInsertMyValues
: 引数rowとcolsのインデックスがグローバル
https://trilinos.org/docs/dev/packages/epetra/doc/html/classEpetra__CrsMatrix.html
インターフェースの設計
- 成分を上書きするバージョンは、replace関数として実装するか?