I have a large matrix, M, with dimensions NxN, where N=90000 and the elements are stored as double. I need to perform matrix-vector operations (M*b), here b is a vector, but I am facing memory constraints when trying to store the matrix. I am wondering if Eigen has any support for external memory mapping, which would allow me to store the matrix in external memory?
Thank you for your help
I am currently working with an iterative algorithm that involves calculating a matrix M only once, and then performing matrix-vector operations with a new vector b in each iteration, i.e., M*b. Due to memory constraints, I have attempted to avoid explicitly storing the matrix and instead perform the matrix-vector operation directly, storing only the output vector. However, this has led to a significant increase in CPU time.
Since the matrix M is calculated only once, I would like to explore the possibility of mapping it to an external memory. However, I have been unable to find information on how to do this in Eigen. Just to clarify, my code is written in C++. Do you have any suggestions or guidance on how I can achieve this?