When I run it, it encounters a division by zero in the routine PLASMA_xplgsy.
Debugging it is tricky because of the preprocessor functions which confuse the debugger, but I'm fairly certain that the problem with the example is that the matrix is too small. There are no calls which set the tile or group size in the main program like there are in the ones that work so I assume they get set to defaults.
In the routine which converts from tiled to LAPACK formats (PLASMA_xgecfi_async) the future culprit of the division by zero is computed - a variable called 'oml'. This variable is computed from:
- Code: Select all
oml = (m/omb)*omb
Where m and omb are arguments to the function. M seems to be size of the matrix. omb's value is always 120. I can't confirm, but this looks like it may be the tile size because 120 seems to be its typical size throughout the examples.
So in conclusion is seems that in the example the matrix size is set to be small at 10, but the tile size is 120 so bigger than the whole matrix! I set the matrix size to be >= 120 and the program runs successfully.
Can you confirm that this is the case on your end also? I spent the whole afternoon thinking that it was some evil bug in the way I compiled it.