Question

I have an application in which I need to carry out a lot of Norms, Dot Products and most importantly, Matrix Vector multiplications.

matrix and vectors are huge. Matrix dimension is tending to be a 100000x100000

the loop structure is:

while(condition)
/* usually iterations=dimension of matrix, so around 1 million iterations are *at least* required (if not more) */
matrix-vector multiplication
3 dot prods
2 norms

I am currently using Intel Fortran with Intel MKL. Will rewriting my codes in Intel C with Intel MKL help any? Has anyone ever carried out a benchmark of any kind (for DGEMV especially)? Rewriting codes is a major pain but I would not mind rewriting iff I see a reason to.

EDIT: I misspoke: The matrix dimensions are 100000 not a million. Pretty serious error :|

And yes, the matrix is dense and it needs to be dense. Moreover, it is not symmetric and not even positive definite. My algorithm is a modified version of QMR.

Was it helpful?

Solution

The performance will be completely identical in either C or Fortran, as the actual implementation backing the library calls are the same, and essentially all of the time in your code is spent in those library calls.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top