Skip to content
Snippets Groups Projects
Commit f45fa48b authored by Marcin Kirsz's avatar Marcin Kirsz
Browse files

fix for solver when N > M

parent 053a6e1f
No related branches found
No related tags found
No related merge requests found
Pipeline #43506 passed
...@@ -218,54 +218,51 @@ class MPI_Trainer: public Trainer { ...@@ -218,54 +218,51 @@ class MPI_Trainer: public Trainer {
int descB[9], descB2[9]; int descB[9], descB2[9];
int info, info2; int info, info2;
int sol[9], sol2[9]; int sol[9], sol2[9];
int info3; int info3, info4;
int info4;
int lda1 = phi_rows1 > phi_cols1 ? phi_rows1 : phi_cols1; int lda1 = phi_rows1 > phi_cols1 ? phi_rows1 : phi_cols1;
int lda2 = phi_rows2 > phi_cols2 ? phi_rows2 : phi_cols2; int lda2 = phi_rows2 > phi_cols2 ? phi_rows2 : phi_cols2;
descinit_( descPHI, &PHI_rows, &PHI_cols, &rnb1, &cnb1, &izero, descinit_( descPHI, &PHI_rows, &PHI_cols, &rnb1, &cnb1, &izero,
&izero, &context1, /*leading dimension*/&phi_rows1, &info); &izero, &context1, /*leading dimension*/&izero, &info);
descinit_( descPHI2, &PHI_rows, &PHI_cols, &rnb2, &cnb2, &izero, descinit_( descPHI2, &PHI_rows, &PHI_cols, &rnb2, &cnb2, &izero,
&izero, &context2, /*leading dimension*/&phi_rows2, &info2); &izero, &context2, /*leading dimension*/&izero, &info2);
if(info != 0) { //if(info != 0) {
printf("Error in descinit 1a, info = %d\n", info); // printf("Error in descinit 1a, info = %d\n", info);
} //}
if(info2 != 0) { //if(info2 != 0) {
printf("Error in descinit 2a, info = %d\n", info2); // printf("Error in descinit 2a, info = %d\n", info2);
printf("HINT: Check these CONFIG parameters: MPIWPCKG, MBLOCK, NBLOCK\n"); // printf("HINT: Check these CONFIG parameters: MPIWPCKG, MBLOCK, NBLOCK\n");
} //}
//int temp = PHI_rows > PHI_cols ? PHI_rows : PHI_cols; //int temp = PHI_rows > PHI_cols ? PHI_rows : PHI_cols;
descinit_( descB, &PHI_rows, &ione, &rnb1, &cnb1, &izero, descinit_( descB, &PHI_rows, &ione, &rnb1, &cnb1, &izero,
&izero, &context1, /*leading dimension*/&phi_rows1, &info); &izero, &context1, /*leading dimension*/&izero, &info);
descinit_( descB2, &PHI_rows, &ione, &rnb2, &cnb2, &izero, descinit_( descB2, &PHI_rows, &ione, &rnb2, &cnb2, &izero,
&izero, &context2, /*leading dimension*/&phi_rows2, &info2); &izero, &context2, /*leading dimension*/&izero, &info2);
//if(info != 0) {
// printf("Error in descinit 1b, info = %d\n", info);
//}
//if(info2 != 0) {
// printf("Error in descinit 2b, info = %d\n", info2);
// printf("HINT: Check these CONFIG parameters: MPIWPCKG, MBLOCK, NBLOCK\n");
//}
descinit_( sol, &PHI_cols, &ione, &rnb1, &cnb1, &izero, descinit_( sol, &PHI_cols, &ione, &rnb1, &cnb1, &izero,
&izero, &context1, /*leading dimension*/&phi_cols1, &info3); &izero, &context1, /*leading dimension*/&izero, &info3);
descinit_( sol2, &PHI_cols, &ione, &rnb2, &cnb2, &izero, descinit_( sol2, &PHI_cols, &ione, &rnb2, &cnb2, &izero,
&izero, &context2, /*leading dimension*/&phi_cols2, &info4); &izero, &context2, /*leading dimension*/&izero, &info4);
std::cout << "phi_rows1, phi_cols1 " << phi_rows1 << ", " << phi_cols1 << std::endl; //if(info3 != 0) {
std::cout << "phi_rows2, phi_cols2 " << phi_rows2 << ", " << phi_cols2 << std::endl; // printf("Error in descinit 1c, info = %d\n", info3);
//}
if(info != 0) { //if(info4 != 0) {
printf("Error in descinit 1b, info = %d\n", info); // printf("Error in descinit 2c, info = %d\n", info4);
} //}
if(info2 != 0) {
printf("Error in descinit 2b, info = %d\n", info2);
printf("HINT: Check these CONFIG parameters: MPIWPCKG, MBLOCK, NBLOCK\n");
}
if(info3 != 0) {
printf("Error in descinit 1c, info = %d\n", info3);
}
if(info4 != 0) {
printf("Error in descinit 2c, info = %d\n", info4);
}
char trans='N'; char trans='N';
int nrhs = 1; int nrhs = 1;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment