[petsc-users] Implementing checkpoints in matrix construction

Smith, Barry F. bsmith at mcs.anl.gov
Fri Aug 17 15:01:55 CDT 2018


   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 <dnpham at wpi.edu> 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



More information about the petsc-users mailing list