4
ms mpi를 사용하여 VS 2015에서 간단한 콘솔 프로그램을 만들었습니다.ms mpi 오류 : 시작 블록을 할당 할 수 없습니다.
#include <stdio.h>
#include <mpi.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
int rank=0, size=0;
MPI_Init(&argc, &argv); /* starts MPI */
MPI_Comm_rank(MPI_COMM_WORLD, &rank); /* get current process id */
MPI_Comm_size(MPI_COMM_WORLD, &size);
if (rank == 0)
{
char helloStr[] = "Hello World";
// MPI_Send(helloStr, _countof(helloStr), MPI_CHAR, 1, 0, MPI_COMM_WORLD);
}
else if (rank == 1)
{
char helloStr[12];
MPI_Recv(helloStr, _countof(helloStr), MPI_CHAR, 0, 0, MPI_COMM_WORLD, MPI_STATUS_IGNORE);
printf("Rank 1 received string %s from Rank 0\n", helloStr);
}
printf("hello from proccess rank %d from size %d\n",rank,size);
MPI_Finalize();
return 0;
}
이 프로그램은 컴파일 및 실행됩니다. 하지만 mpiexec -n 2 myprog.exe를 사용하면 오류가 발생합니다. 시작 블록을 할당 할 수 없습니다.
이 문제를 해결합니다. 내 OS 윈도우 7 석사 mpi 대 7.1. ms-mpi를 제거하고 ms-mpi v 6을 설치하면 모든 작업이 완료됩니다. –
실행 파일의 경로에 공백과 비 라틴 문자가있는 경우에도 마찬가지입니다 –