This post is directly related with viewtopic.php?f=2&t=1278
I'm using PLASMA 2.4.6 in an Intel Core i5-2500 (4 cores)
I'm trying to use the *_Tile versions of the functions DGEQRF and DGETRF but I have some problems. Attached I send two test programs that uses PLASMA_dgeqrf (PLASMA_dgetrf) with the tile size by default, PLASMA_dgeqrf (PLASMA_dgetrf) with the tile size fixed as a size lower than the matrix dimensions (#define NB, in the code) and PLASMA_dgeqrf_Tile (PLASMA_dgetrf_Tile).
The problem is that for the *_Tile functions the results are totally wrong. I used PLASMA_dLapack_to_Tile before and PLASMA_Tile_to_dLapack after the function, so I don't know what I'm doing wrong (if I set NB greater than the matrix dimensions the results are right). In the case of PLASMA_dgetrf_Tile, how can I convert the IPIV output argument to right order?
When I use the no tile functions setting tile size lower than matrix dimensions the results are right in absolute value, but sometimes (depending of NB, 2,3, etc.) signs in the numbers are changed compared to the right results. Why this occurs?
The reason I'm using the *_Tile versions of DGEQRF and DGETRF is that I need the output results in matrix A in Fortran format, but the functions outputs them in tile format and I don't know how can I convert to Fortran (PLASMA_Tile_to_dLapack works with PLASMA_desc and DGEQRF and DGETRF outputs normal double*). Exists any method to transform the results?
And finally, DGEQRF stores auxiliary data in a descT output arguments. These data are needed to reconstruct the Q matrix from the QR decomposition. This argument corresponds to TAU vector in the DGEQRF Fortran function. How can I extract the data from the descT struct and convert it to TAU vector?
Can anyone run my test programs?