VS 2017 MPI 환경 설정

4671 단어 MPI
  • MPI 다운로드, 인터넷 주소:http://www.mpich.org/, 윈도 우즈 버 전 선택
  • 기본 경로 로 다운로드
  • 항목 - > 속성 을 우 클릭 하여 설정: VC + 디 렉 터 리 - > 디 렉 터 리 포함, 추가: "C: \ Program Files (x86) \ \ Microsoft SDK \ \ MPI \ \ Include;" VC + 디 렉 터 리 - > 라 이브 러 리, 추가: "C: \ Program Files (x86) \ \ Microsoft SDK \ \ \ Lib \ x86;" 오른쪽 상단 - > 설정 관리자 - > 이벤트 솔 루 션 플랫폼, 선택: x86;C / C + + - > 예비 프로세서 - > 예비 프로세서 정의, 추가: "MPICH SKIP MPICXX;" C / C + + - > 코드 생 성 - > 실행 라 이브 러 리, 선택: 다 중 스 레 드 디 버 깅 (/ MTd);링크 기 - > 입력 - > 추가 의존 항목, 추가: "msmpi. lib;"
  • 입력 프로그램
  • #define _CRT_SECURE_NO_WARNINGS
    
    #include 
    #include 
    #include 
    #include 
    #include 
    using namespace std;
    
    const int MAX_STRLEN = 100;
    
    int main(int argc, char **argv)
    {
        char greeting[MAX_STRLEN];
        int comm_sz;
        int my_rank;
        MPI_Init(NULL, NULL);
        MPI_Comm_size(MPI_COMM_WORLD, &comm_sz);
        MPI_Comm_rank(MPI_COMM_WORLD, &my_rank);
    
        if (my_rank != 0) {
            sprintf(greeting, "Greetings from %d of %d", my_rank, comm_sz);
            MPI_Send(greeting, strlen(greeting) + 1, MPI_CHAR, 0, 0, MPI_COMM_WORLD);
        }
        else {
            printf("Greeting from %d of %d!
    "
    , my_rank, comm_sz); for (int q = 1; q < comm_sz; q++) { MPI_Recv(greeting, MAX_STRLEN, MPI_CHAR, MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, MPI_STATUSES_IGNORE); printf("%s
    "
    , greeting); } } MPI_Finalize(); return 0; }
  • 컴 파일 후 명령 행 에서 명령 열기: mpiexec - n 10 MPItest. exe \ # - n 10 은 10 개의 스 레 드 를 표시 합 니 다
  • 운행 결과
  • Greeting from 0 of 10!
    Greetings from 4 of 10
    Greetings from 1 of 10
    Greetings from 3 of 10
    Greetings from 2 of 10
    Greetings from 6 of 10
    Greetings from 9 of 10
    Greetings from 8 of 10
    Greetings from 7 of 10
    Greetings from 5 of 10

    스 레 드 명령 에 따라 무 작위 로 실행 되 기 때문에 출력 내용 순서 가 다 를 수 있 습 니 다.

    좋은 웹페이지 즐겨찾기