I have MKL version 10.2.5.035 and have found that the
following program dies when compiled for 64bit (for 32bit it runs correctly):
int main(int argc, char* argv)
MKL_INT m = 3, info;
MKL_INT work_sz = -1; // workspace query; optimal size is returned in tmp
dsytrf("L", &m, NULL, &m, NULL, (double *)&tmp, &work_sz, &info);
fprintf(stdout, "info=%d tmp=%lf\n", info, tmp);
Debugging has shown that MKL tries to write 12 bytes to the location of the second NULL, so replacement of the second NULL with the address of the dummy variable (two int's, for example) keeps the program alive, but the optimal size is 192 (which is much larger than correct value of 3), and returned value of info is not 0.
I have downloaded trial version 11.1. Now the program does not die, and returns optimal size of 3, but returned info is still not 0, but ~-3689348818177884160 (which nevertheless prints out as 0).
Is it a known bug? I would appreciate any observations with regards to this issue.