Suggestion for Magma ZCGESV
Posted: Wed Sep 16, 2015 5:42 pm
I am working with various problems which require the repeated solution of N sets of equations Ax = b where there are N copies of A which don't change from one iteration to the next while the b blocks do change. One way of doing this is to run ZGETRF on each A and save the results, so that ZGETRS can then run for each A for each iteration. That works for me both with LAPACK and with MAGMA. The main problem is the storage of the factorised A matrices. On a machine with 8 Gbytes of main memory I can only get to N=6 with double precision.
I have tried instead to use the LAPACK routine ZCGESV which uses single precision factorization. I have an adapted version ZCGESV_OPT where I can turn off the factorisation and use one I have already saved. I can also add the choice of whether to transpose the solution, which is available with ZGETRS but not with ZCGESV. I have this working in LAPACK and it enables me to double N to 12 which gives much better performance in the outer algorithm.
I am writing this to suggest that the same alterations could be made to the MAGMA routine for ZCGESV. I am going to attempt this myself and will let you know how I get on. I thought it worthwhile to let you know of this.
The matrix size is about 7000.
Best wishes
John
I have tried instead to use the LAPACK routine ZCGESV which uses single precision factorization. I have an adapted version ZCGESV_OPT where I can turn off the factorisation and use one I have already saved. I can also add the choice of whether to transpose the solution, which is available with ZGETRS but not with ZCGESV. I have this working in LAPACK and it enables me to double N to 12 which gives much better performance in the outer algorithm.
I am writing this to suggest that the same alterations could be made to the MAGMA routine for ZCGESV. I am going to attempt this myself and will let you know how I get on. I thought it worthwhile to let you know of this.
The matrix size is about 7000.
Best wishes
John