I am using potrf and friends from MKL within a sparse Cholesky. So I would do a tons of smallish potrf, trsm and the like.
Now it seems if I want to use libflame instead of Lapack, then for each potrf I have to create a temporary libflame object and delete it after the potrf is run.
Let us assume the size of the matrix is n. Then is the cost of creating the libflame object is O(1). Right?
Erling
Thanks. It answers my questions.
http://www.numerical.rl.ac.uk/people/j_scott/publications/2010/HoggReidScot2010_sisc.pdf
give a good description of how to build a sparse Cholesky.
I had fooled myself into thinking potrf is important in this case. It is not. It is of course gemm, syrk and trsm that is important.
However, note you tend work on matrices of of a size that is a small multiple of 64 e.g. 256. Hence if you do A*B then A would have 256 columns and an arbitrary number of rows. Since we working with dense data inside a sparse matrix then number of columns of is quite small e.g. 8.
Hence, overhead is important. For instance I found I should inline axpy and dot and not use the MKL ones because the overhead kills any advantage in my case.
Erling