I assume the matrix is relatively sparse?
It is not even close to being amenable to this type of thing. I would simply have your program save the matrix entries to disk in some simple binary format and write another simple program that reads them in and sets them into a SeqAIJ matrix, then VecView that matrix to a binary viewer, finally have your eigenvalue code simply use VecLoad to load the matrix and start the eigen computations. Barry > On Aug 17, 2018, at 2:45 PM, Pham, Dung Ngoc <[email protected]> wrote: > > Dear Petsc developers and Users, > > I am constructing a very large matrices (~5,000,000*5,000,000) for a > generalized eigenvalue problem in MPIAIJ format across multiple nodes. The > program is to be run on a shared HPC cluster using Slurm workload manager. > Due to multiple loops and calculations needed, the matrix construction time > is long (may span for more than a week). > > Hence, I am trying to see if I can implement checkpoints into the codes, so > that the matrix can be constructed partially through multiple job > submissions, each job picking up from where the previous one left until the > matrix is fully built and we can write the global matrix into a binary file > for further eigenvalue analysis. My questions are: > Does Petsc MPIAIJ format is amenable to such check points? > If so, are there any subroutines/functions that I can start with? > > I appreciate any comments/suggestions. > > Thank you, > D. N. Pham
