私はラップトップ(i5 - 4260Uと4 GBのRAM)でWindows上でMPIを使用してMPIを学び、低速のパフォーマンスに走ろうとしています。 CygwinとMPI用の適切なライブラリをインストールしました。私もCLionを使い、this guideを使ってMPIを設定しています。C - MPI遅い性能
私はCLion上でコードを構築し、MPICC上でコンパイルすることに成功しました。しかし、MPI Runを使用すると、プログラムの実行に非常に時間がかかります。 mpirunを使わずにプログラムを正常に実行すると、正常に動作します。私が1つのプロセスしか指定しなくても、プログラムはまだ "Hello World"を印刷するのに1分以上かかります。
私のラップトップはパフォーマンスが低下する理由ですか、あるいは最適なパフォーマンスを得るためにMPIを正しく設定していないのですか?ありがとう!
コード:
/*Simple MPI Hello World Program*/
#include <stdio.h>
#include <mpi.h>
int main(int argc, char **argv)
{
int node;
MPI_Init(&argc,&argv);
MPI_Comm_rank(MPI_COMM_WORLD, &node);
printf("Hello World from Node %d\n",node);
MPI_Finalize();
}
CMakeの:
cmake_minimum_required(VERSION 3.8)
project(MPI_Example)
set(CMAKE_C_STANDARD 99)
set(SOURCE_FILES main.c)
add_executable(MPI_Example ${SOURCE_FILES})
# Require MPI for this project:
find_package(MPI REQUIRED)
set(CMAKE_CXX_COMPILE_FLAGS ${CMAKE_CXX_COMPILE_FLAGS} ${MPI_COMPILE_FLAGS})
set(CMAKE_CXX_LINK_FLAGS ${CMAKE_CXX_LINK_FLAGS} ${MPI_LINK_FLAGS})
include_directories(${MPI_INCLUDE_PATH})
target_link_libraries(MPI_Example ${MPI_LIBRARIES})
あなたのプログラムやビルドオプションはありません。普通でない。おそらく[cygwin](https:// stackoverflow。com/questions/11032161/why-is-cygwin-so-slow)しかし、伝えるのは難しいです。 – Zulan
@ Zulanそれはおそらくそれです。残念ながら、私はClion上でMinGWをMPICH2で設定する方法を知らないので、当面はこれで悩まされている可能性が最も高いです。助けてくれてありがとう! – VectorConvoy
ファイアウォールが実行されている場合は、まず無効にします。すべてのインターフェースが解決されていることを確認してください(たとえば、すべてのIPにホスト名があり、逆の場合) –