問題タブ [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.
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.リー
mpi - OpenMPI と MPICH2 は互換性がありますか?
OS X と Bash を使用しています。2 つのシステム間でプログラムを実行しようとしています。ホストには OpenMPI 1.6.4 があり、もう一方のノードには MPICH2 があります。問題が発生しています。MPI 実装を使用するのはこれが初めてなので、間違っているだけなのか、それとも実行するのが不可能なのか、はるかに難しいのかわかりません。別の MPI ソフトウェアを使用します。
皆さんの洞察に感謝します。
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.6CFLAG= -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
それを機能させるために何をすべきかアドバイスはありますか?
parallel-processing - mpicc で pmandel.c をコンパイルできない
並列計算を行うために、Linux マシン (CentOS 6.4) に MPICH (ver 3.0.4) をインストールしました。このコマンドで MPICH インストールをテストするために、「pmandel.c」(例として MPICH インストール パッケージに付属) をコンパイルしようとしました。
しかし、次のエラーが返されます。
出力は行われません。「mpic++」、「mpiCC」、「mpicxx」も試しましたが、すべて役に立ちませんでした。
これを修正するにはどうすればよいですか?
mpi - mpd.conf ファイルが見つかりません
RHEL に MPICH2 1.4 バージョンをインストールしました。プログラムを実行しようとすると、次のエラーがスローされます
mpd.conf ファイルが見つかりません
この問題を解決する方法。
mpi - MPICH のバージョンを確認するにはどうすればよいですか?
質問で述べたように、MPICH の現在のバージョンを一覧表示するコマンドは何ですか? CentOSを実行しています。
mpi - 静的バイナリとともに mpiexec/mpirun を出荷
MPI を使用する並列コードがあります。このコードを使用する適切な方法は、PC/Cluster でソースからコンパイルし、次のように実行することです。
残念ながら、このコードを使用している一部の人々は、ソースからビルドするのが少し難しいと感じている *nix に挑戦しています (理由は聞かないでください)。これらのユーザーは、自分のデスクトップ/ラップトップでのみコードを使用します。
そのようなユーザーのために、私は単純に静的バイナリをコンパイルします (Linux を実行しているほとんどの PC で実行される十分に古い glibc を備えた十分に古い OS で)。その後、ユーザーは次のようにコードを実行できます。
だから今私の質問は、ユーザーが次のようなことをできるように、静的バイナリと一緒に mpiexec/mpirun を出荷するにはどうすればよいかということです。
このようにして、デスクトップで複数のコアを利用することもできます。今まで、私は MPI をインストールしてソースからコードをコンパイルするなど、正しいことを行うように彼らに言い続けてきました。
いくつかのテストを行った結果、ハイドラをコンパイルして出荷すると、次のようにコードを実行できることがわかりましmpiexec.hydra
た hydra_pmi_proxy
。
しかし、これが正しいアプローチであるかどうかはわかりませんか?これにより問題が発生しますか? Windoze バイナリ (Cygwin で実行) についても同じことを考えています。
もう 1 つのオプションは、すべてが事前にビルドされた VBox イメージですが、大きなファイルのダウンロードが問題になります。