mpi
MPIのややマニアックな機能の1つに、attriburtesがあります。これは、コミュニケータに、整数をキーとした辞書のようなデータ構造で値(属性)を登録できるというものです。関係する関数としては、 MPI_Comm_create_keyval、 MPI_Comm_set_attrなどがありま…
小ネタ。 MPIのプログラムから printf などを使ってデバッグ出力をする場合、全プロセスから一斉に同じ出力をしたときの順序は保証されていません。 例えば、下のようなプログラムを考えます。 #include <stdio.h> #include <mpi.h> int main(int argc, char **argv) { int r</mpi.h></stdio.h>…
通常、MPIプログラムは、実行中のどれかのrankがエラー等で以上終了した場合(あるいはMPI_Finalizeを呼び出さずに終了した場合)は全プロセスが強制終了されることが期待されます。 が、ChainerMNを含む mpi4py を用いたプログラムを実行している場合、Pyth…
Open MPI devel メーリングリストで、「openibコンポーネントを削除する時が来たのでは?」という議論が始まっています。 Open MPIでInfinibandを使う場合、ながらく openibib という BTL コンポーネントが使われてきました。 BTL というのは、Byte Transfer…
githubで開発しているプロジェクトのCIを実施したいが、C++11をサポートするコンパイラが必要だ。さらに、MPIを使ったプロジェクトではmipcxxとmpirunが必要だ。Github上のプロジェクトのCIを行ってくれるサービスはCircle CIなどもあるが、C++には対応して…