파생 데이터 유형을 생성하려고합니다. 내 문제는 그것이 size_of()
함수와 유사해야한다는 MPI_Type_extent
의 사용이다른 컴퓨터에서 C++ mpi 파생 데이터 유형
int blocks[3] = {1,1,1};
MPI_Datatype types[3] ={MPI_INT,MPI_DOUBLE,MPI_DOUBLE};
MPI_Aint displacements[3];
MPI_Datatype MPI_Struct;
MPI_Aint doublex;
MPI_Type_extent(MPI_DOUBLE,&doublex);
displacements[0]=static_cast<MPI_Aint>(0);
displacements[1]=doublex;
displacements[2]=doublex+doublex;
MPI_Type_struct(3,blocks,displacements,types,&MPI_Struct)
입니다 :
struct {
int provider;
double service;
double cost;
} MPI_Struct;
웹 설명서에 따라, 나는 그런 일을 작성해야 : 특히이 같은 구조체가 원하는 . 내 컴퓨터가 MPI_Datatype_exent
이라는 다른 컴퓨터의 클러스터에서 실행되기 때문에 다른 컴퓨터의 한 프로세스에서 다른 프로세스로 My_Struct
을 전달할 때 아무런 문제가 없다는 것을 확신 할 수 있습니까? 내가 잘못 아니에요 경우
는 유형
여기
기계의 확장 범위는 무엇입니까? – Zulan
이 순간 나는 정확한 차이를 모르겠다. 그들은 대학 컴퓨터이고 아직 사용하지 않았습니다. – dang92
모든 것이 완전히 균질해야합니다. 다른 OS/설치/버전/MPI 구현/컴파일러 옵션/바이너리/CPU의 혼합에서 MPI를 실행하지 마십시오. 실제로 수행중인 작업을 알지 못하는 경우입니다. – Zulan