0
MPI_Comm_sizeコマンドは、プロセッサ数が4の場合、常に単一プロセスを返します。仮想xUbuntu 16.04でMPI 3.2.1とCLionを使用しています。エミュレータ - VMWare vm設定のプロセッサ数は4に設定され、xUbuntuのnprocは「4」と表示されます。ここでMPI_Comm_sizeは常に1を返します
はwhereis mpicc
用の出力です:。
mpicc: /usr/local/bin/mpicc
I'vは** MPI 1で試してみましたが、それはalse同じことをやりました。どうしましたか?ここで
はCMakeLists.txtファイルです。ここで
cmake_minimum_required(VERSION 3.8)
project(primes)
set(CMAKE_C_STANDARD 99)
set(SOURCE_FILES main.c)
add_executable(primes ${SOURCE_FILES})
set(CMAKE_C_COMPILER "/usr/local/bin/mpicc")
コードの一部です:
コンソールかかわらず実行int main(int argc, char* argv[]) {
...
int rank, tasksCount;
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
MPI_Comm_size(MPI_COMM_WORLD, &tasksCount);
UPD :
[email protected]:~/prog/primes$ mpicc -o main.o main.c
[email protected]:~/prog/primes$ mpiexec -np 4 ./mail.o
何も与えません。何も起こらず、何もコンソールに書き込まれません。 "kamo @ kamo:〜/ prog/primes $"という接頭辞が付いていない新しい行。
あなたのアプリケーションがあるlibの 'mpirun'を混ぜていないことを確認してください。あなたのアプリは他のlib /バージョンの' libmpi.so'とリンクしていません。 –
@GillesGouaillardet:OPが 'mpirun'をまったく使っているのだろうか? –
良い点! MPIアプリケーションは 'mpirun'または' mpiexec'を介して起動されなければなりません。そうでなければこれはシングルトンモードと呼ばれ、一つのMPIタスクだけが実行されます。 –