問題タブ [mpich]

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 に答える
2760 参照

raspberry-pi - 2 つの RaspberryPi で MPI を使用する

私が取り組んでいるプロジェクト用に「デュアルコア」RaspberryPiを作ろうとしています。私はSimon Cox によるこのチュートリアルに従っていました。残念ながら、2 つの RasPi を互いに通信させることはできませんでした。(これは Hydra をプロセスマネージャーとして使用していました)

こちらにある MPICH インストーラー ガイドを詳しく調べた後、-phrase を使用して、作成したパスフレーズを渡そうとしました。ただし、ヒドラ コマンドの一部としては見つかりませんでした。そのため、smpd を使用して再インストールし、何度もコンパイルを試みました。私は次のように構成しました:

/configure -prefix=/home/pi/mpich-install --with-pm=smpd --with-pmi=smpd

また、smpd が必要とする MD5 を取得するために libbsl-dev をインストールする必要がありました。コマンド mpiexec と mpicc が入っているパスもエクスポートしました。パスフレーズを設定した後、イメージを 2 番目の SD カードにコピーし、2 番目の RasPi に入れました。次に、ssh-keygen を使用してパスフレーズを設定します。

マスターPiとスレーブPiでcpiプログラムを個別に実行できましたが、両方で同時に複数のプロセスを実行しようとするとエラーが発生しました

Fatal error in MPI_Init: Other MPI error, error stack: MPIR_Init``_thread(392).................: MPID_Init(139)........................: channel initialization failed MPIDI_CH3_Init(38)....................: MPID_nem_init(196)....................: MPIDI_CH3I_Seg_commit(366)............: MPIU_SHMW_Hnd_deserialize(324)........: MPIU_SHMW_Seg_open(863)...............: MPIU_SHMW_Seg_create_attach_templ(637): open failed - No such file or directory

この問題を解決する方法、または RaspberryPis が MPICH を使用して通信できるようにする方法を教えてください。

ありがとうE.リー

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

mpi - OpenMPI と MPICH2 は互換性がありますか?

OS X と Bash を使用しています。2 つのシステム間でプログラムを実行しようとしています。ホストには OpenMPI 1.6.4 があり、もう一方のノードには MPICH2 があります。問題が発生しています。MPI 実装を使用するのはこれが初めてなので、間違っているだけなのか、それとも実行するのが不可能なのか、はるかに難しいのかわかりません。別の MPI ソフトウェアを使用します。

皆さんの洞察に感謝します。

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

android - Android NDK 用の MPICH ライブラリのクロスコンパイル

私の目標は、Android フォンで MPICH を実行することです。Debian Jessie を使用しています。私はこのチュートリアルに従ってそれを達成すると思った : http://hex.ro/wp/projects/personal-cloud-computing/compiling-mpich2-for-android-and-running-on-two-phones/ Buildroot を使用したツールチェーンの作成について このサイトのように、Android NDK から作成することにしました 。 -ndk.html MPICH ライブラリ バージョン 2.1.4、2.1.5、3.0.4 を使用して、次のコマンドを使用して構成しようとしました。

しかし、私はまだこの種のエラーがありました:

configure: エラー: SMPD には MD5 サポートが必要であり、configure は md5.h で md5_calc または openssl/md5.h で MD5 を見つけることができませんでした

それがopensslバージョンに接続されていることがわかり、この指示に従おうとしました:

OpenSSL を NDK ディレクトリにダウンロード、コンパイル、変更、およびインストールします。cd ~ wget www.openssl.org/source/openssl-1.0.0g.tar.gz tar xvzf

openssl-1.0.0g.tar.gz cd openssl-1.0.0g ./config no-asm 共有 --prefix=$ANDROID_ROOT/platforms/android-3/arch-arm/usr

Makefile を編集:
CC= arm-linux-gnueabi-gcc-4.6

CFLAG= -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_N -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall -fPIC

DEPFLAG= -DOPENSSL_NO_GMP -DOPENSSL_NO_JPAKE -DOPENSSL_NO_MD2 -DOPENSSL_NO_R C5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_STORE

PEX_LIBS=

EX_LIBS= -ldl

EXE_EXT=

ARFLAGS=

AR= arm-linux-gnueabi-ar $(ARFLAGS) r

RANLIB= アーム-linux-gnueabi-ranlib

NM= アーム-linux-gnueabi-nm

PERL=/usr/bin/perl

TAR=タール

TARFLAGS= --再帰なし

MAKEDEPPROG= gcc

LIBDIR=ライブラリ

HIPL の代わりに、以下のような類似の方法で MPICH をクロスコンパイルしようとしました。

HIPL をダウンロードしてクロスコンパイルします。cd ~ bzr co lp:hipl トランク cd トランク edit configure.ac を編集し、すべての AM_CFLAGS autoreconf --install をコメントアウトします

./configure --disable-gcc-warn --disable-firewall -host=arm-linux

CC=arm-linux-gnueabi-gcc-4.6

CPPFLAGS="-I$ANDROID_ROOT/platforms/android-3/arch-arm/usr/include"

CFLAGS="-nostdlib"

LDFLAGS="-Wl,-rpath-link=$ANDROID_ROOT/platforms/android-3/arch-arm/usr/lib,-L$ANDROID_ROOT/platforms/android-3/arch-arm/usr/lib"

LIBS="-lc" make make all-am make[1]: ディレクトリ `/home/mkomu/projects/hipl-bzr/arm' に入ります CC lib/core/builder.lo ファイル内

lib/core/debug.h:34:0 からインクルード、

lib/core/protodefs.h:929:5: エラー: 不明な型名 'in_port_t'

lib/core/protodefs.h:1027:5: エラー: 不明な型名 'in_port_t'

lib/core/protodefs.h:1036:5: エラー: 不明な型名 'in_port_t'

lib/core/protodefs.h:1043:5: エラー: 不明な型名 'in_port_t'

lib/core/protodefs.h:1054:5: エラー: 不明な型名 'in_port_t'

lib/core/protodefs.h:1055:5: エラー: 不明な型名 'in_port_t' ...

サイトからのものです:bugs.launchpad.net/hipl/+bug/715126

しかし、そこにいる人と同じエラーが発生しました..

make[8]: Wejście do catalogu `/home/cerbia/old/mpich2-1.3.2/src/mpid/ch3/channels/nemesis/nemesis/netmod/tcp' CC tcp_finalize.c tcp_finalize.c からインクルードされたファイル: 7:0: tcp_impl.h:108:89: エラー: 不明な型名 'in_port_t' make[8]: * [tcp_finalize.o] Błąd 1

それを機能させるために何をすべきかアドバイスはありますか?

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

parallel-processing - mpicc で pmandel.c をコンパイルできない

並列計算を行うために、Linux マシン (CentOS 6.4) に MPICH (ver 3.0.4) をインストールしました。このコマンドで MPICH インストールをテストするために、「pmandel.c」(例として MPICH インストール パッケージに付属) をコンパイルしようとしました。

しかし、次のエラーが返されます。

出力は行われません。「mpic++」、「mpiCC」、「mpicxx」も試しましたが、すべて役に立ちませんでした。

これを修正するにはどうすればよいですか?

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

mpi - mpd.conf ファイルが見つかりません

RHEL に MPICH2 1.4 バージョンをインストールしました。プログラムを実行しようとすると、次のエラーがスローされます

mpd.conf ファイルが見つかりません

この問題を解決する方法。

0 投票する
5 に答える
46396 参照

mpi - MPICH のバージョンを確認するにはどうすればよいですか?

質問で述べたように、MPICH の現在のバージョンを一覧表示するコマンドは何ですか? CentOSを実行しています。

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

mpi - 静的バイナリとともに mpiexec/mpirun を出荷

MPI を使用する並列コードがあります。このコードを使用する適切な方法は、PC/Cluster でソースからコンパイルし、次のように実行することです。

残念ながら、このコードを使用している一部の人々は、ソースからビルドするのが少し難しいと感じている *nix に挑戦しています (理由は聞かないでください)。これらのユーザーは、自分のデスクトップ/ラップトップでのみコードを使用します。

そのようなユーザーのために、私は単純に静的バイナリをコンパイルします (Linux を実行しているほとんどの PC で実行される十分に古い glibc を備えた十分に古い OS で)。その後、ユーザーは次のようにコードを実行できます。

だから今私の質問は、ユーザーが次のようなことをできるように、静的バイナリと一緒に mpiexec/mpirun を出荷するにはどうすればよいかということです。

このようにして、デスクトップで複数のコアを利用することもできます。今まで、私は MPI をインストールしてソースからコードをコンパイルするなど、正しいことを行うように彼らに言い続けてきました。

いくつかのテストを行った結果、ハイドラをコンパイルして出荷すると、次のようにコードを実行できることがわかりましmpiexec.hydrahydra_pmi_proxy

しかし、これが正しいアプローチであるかどうかはわかりませんか?これにより問題が発生しますか? Windoze バイナリ (Cygwin で実行) についても同じことを考えています。

もう 1 つのオプションは、すべてが事前にビルドされた VBox イメージですが、大きなファイルのダウンロードが問題になります。