https://bugs.gentoo.org/690900 rename MPI 1.0 to 3.0+ functions: - MPI_Address -> MPI_Get_address - MPI_Type_struct -> MPI_Type_create_struct --- a/src/ppuzzle.c +++ b/src/ppuzzle.c @@ -297,13 +297,13 @@ else MPI_Recv(&dummy, 0, MPI_INT, PP_MyMaster, PP_UPDATEEEI, PP_Comm, &stat); Dtypes[0] = MPI_DOUBLE; Dtypelens[0] = tpmradix; - MPI_Address(&(Eval[0]), &(Dtypeaddr[0])); + MPI_Get_address(&(Eval[0]), &(Dtypeaddr[0])); Dtypes[1] = MPI_DOUBLE; Dtypelens[1] = tpmradix * tpmradix; - MPI_Address(&(Evec[0][0]), &(Dtypeaddr[1])); + MPI_Get_address(&(Evec[0][0]), &(Dtypeaddr[1])); Dtypes[2] = MPI_DOUBLE; Dtypelens[2] = tpmradix * tpmradix; - MPI_Address(&(Ievc[0][0]), &(Dtypeaddr[2])); + MPI_Get_address(&(Ievc[0][0]), &(Dtypeaddr[2])); - MPI_Type_struct(3, Dtypelens, Dtypeaddr, Dtypes, &PP_Data); + MPI_Type_create_struct(3, Dtypelens, Dtypeaddr, Dtypes, &PP_Data); MPI_Type_commit(&PP_Data); MPI_Bcast (MPI_BOTTOM, 1, PP_Data, PP_MyMaster, PP_Comm); @@ -341,19 +341,19 @@ double* DMVector = new_dvector(jobs); Dtypes[0] = MPI_DOUBLE; Dtypelens[0] = jobs; - MPI_Address(&(DMVector[0]), &(Dtypeaddr[0])); + MPI_Get_address(&(DMVector[0]), &(Dtypeaddr[0])); Dtypes[1] = MPI_DOUBLE; Dtypelens[1] = numcats; - MPI_Address(&(Rates[0]), &(Dtypeaddr[1])); + MPI_Get_address(&(Rates[0]), &(Dtypeaddr[1])); Dtypes[2] = MPI_DOUBLE; Dtypelens[2] = 1; - MPI_Address(&(fracinv), &(Dtypeaddr[2])); + MPI_Get_address(&(fracinv), &(Dtypeaddr[2])); Dtypes[3] = MPI_DOUBLE; Dtypelens[3] = tpmradix; - MPI_Address(&(Eval[0]), &(Dtypeaddr[3])); + MPI_Get_address(&(Eval[0]), &(Dtypeaddr[3])); Dtypes[4] = MPI_DOUBLE; Dtypelens[4] = tpmradix * tpmradix; - MPI_Address(&(Evec[0][0]), &(Dtypeaddr[4])); + MPI_Get_address(&(Evec[0][0]), &(Dtypeaddr[4])); Dtypes[5] = MPI_DOUBLE; Dtypelens[5] = tpmradix * tpmradix; - MPI_Address(&(Ievc[0][0]), &(Dtypeaddr[5])); + MPI_Get_address(&(Ievc[0][0]), &(Dtypeaddr[5])); - MPI_Type_struct(6, Dtypelens, Dtypeaddr, Dtypes, &PP_Data); + MPI_Type_create_struct(6, Dtypelens, Dtypeaddr, Dtypes, &PP_Data); MPI_Type_commit(&PP_Data); if (PP_IamMaster) { @@ -719,10 +719,10 @@ #endif doubles[0] = frconst; - MPI_Address(ints, Dtypeaddr); - MPI_Address(doubles, (Dtypeaddr+1)); + MPI_Get_address(ints, Dtypeaddr); + MPI_Get_address(doubles, (Dtypeaddr+1)); - MPI_Type_struct(2, Dtypelens, Dtypeaddr, Dtypes, &PP_Sizes); + MPI_Type_create_struct(2, Dtypelens, Dtypeaddr, Dtypes, &PP_Sizes); MPI_Type_commit(&PP_Sizes); for (dest=1; dest%d: [%d/%d] #=%d \"%s\"\n", @@ -1764,9 +1764,9 @@ } Dtypes[((int)blocksize + pstnum)] = MPI_INT; Dtypelens[((int)blocksize + pstnum)] = pstnum; - MPI_Address(&(pstnumarr[0]), &(Dtypeaddr[((int)blocksize + pstnum)])); + MPI_Get_address(&(pstnumarr[0]), &(Dtypeaddr[((int)blocksize + pstnum)])); - MPI_Type_struct(((int)blocksize + pstnum + 1), Dtypelens, Dtypeaddr, Dtypes, &PP_Biparts); + MPI_Type_create_struct(((int)blocksize + pstnum + 1), Dtypelens, Dtypeaddr, Dtypes, &PP_Biparts); MPI_Type_commit(&PP_Biparts); error = MPI_Ssend(MPI_BOTTOM, 1, PP_Biparts, PP_MyMaster, PP_PUZZLEBLOCK, PP_Comm); @@ -1843,20 +1843,20 @@ (*bip)[n] = new_cmatrix(*taxa - 3, *taxa); Dtypes[n] = MPI_CHAR; Dtypelens[n] = (*taxa - 3) * *taxa; - MPI_Address(&((*bip)[n][0][0]), &(Dtypeaddr[n])); + MPI_Get_address(&((*bip)[n][0][0]), &(Dtypeaddr[n])); } for (n=0; n