PARDISO new feature ( store and load handle on HDD ) – open discussion

 

Intel® MKL Team has prepared the new functionality in Intel MKL PARDISO that to store internal MKL PARDISO data to HDD.

Generally speaking, it allows anyone to store internal MKL PARDISO data from HDD after any MKL PARDISO step (reordering, factorization or solving step) and load it later.

As a result one can stop MKL PARDISO program after any step, leave, for example, on vacation -:) and start the program from the next MKL PARDISO step afterwards. But in order to develop convenient interface of this feature we’ve decided to ask you which variant is the best for you:
 

1.   Additional switch added by one of iparm[xx]:

pardiso_setenv (handle, 2, dir); // dir is the PATH where MKL PARDISO files will be stored
iparm[xx]=1; // switch that make MKL PARDISO store internal data to HDD
ido=22; // for example
pardiso(ido,……);
….
pardiso_setenv (handle, 2, dir); // dir is the PATH where MKL PARDISO files will be stored
iparm[xx]=2; // switch that make MKL PARDISO load internal data from HDD
ido=33; // for example
pardiso(ido,……);

2. Additional switch added by additionals ido value:

pardiso_setenv (handle, 2, dir); // dir is the PATH where MKL PARDISO files will be stored
ido=7; // for example
pardiso(ido,……)

pardiso_setenv (handle, 2, dir); // dir is the PATH where MKL PARDISO files will be stored
ido=8; // for example
pardiso(ido,……)

3. Additional interfaces added:

pardiso_save(handle, dir, err); // dir is the PATH where PARDISO files will be stored, pardiso_save is new interface
pardiso_load(handle, dir, err);  // dir is the PATH where PARDISO files will be stored, pardiso_load is new interface


Please feel free to propose any other variant of the interface of this feature and ask any questions.
Together we can make our library better!
 
Intel® MKL TEAM.

 
For more complete information about compiler optimizations, see our Optimization Notice.

2 comments

Top
Alexander Kalinkin (Intel)'s picture

Hi,
You are right, the idea is to store and load only pardiso handle, so user's data like size of matrix, iparm and other need to be restored by user.
With best regards,
Alexander Kalinkin

jeffrey-mcaninch's picture

I would rank option 3 as my preferred option.

Would the client code then have to manually restore:
- iparm
- perm
- the spare matrix representation
?

Add a Comment

Have a technical question? Visit our forums. Have site or software product issues? Contact support.