Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
7110 Discussions

PARDISO: is internal graph (phase=11) and factors (phase = 22) stored in int64?

morskaya_svinka_1
New Contributor I
220 Views

I can be very helpful to find out before pardiso procedure call whether I should use int32 or int64 version of PARDISO solver depending on the matrix input. If pardiso routine stores factors indices in int64 on phase=11 I can surely call this routine if the matrix fits in int32, but in case factors are stored in int64, I must use pardiso_64 as soon as there's no guarantee the amount of non-zeros in factors is less than 2^31. I guess factors are stored in int32, but in supernodal format that does not require int64 to be able to store more than 2^31 nnzF, thats why I was able to factorize the matrix Bump2911 from SuiteSparse collection that produces 10 billion nnzF with pardiso int32 sequential out-of-core mode (output attached). So is nnzF<2^31 the only criteria I can use to be sure pardiso int32 version works fine? Lets say I solve the broblem with just 1 rhs.

0 Kudos
1 Reply
Ruqiu_C_Intel
Moderator
117 Views

If need store in int64 for PARDISO, please add -DMKL_ILP64 and -lmkl_intel_ilp64 options in your compile and link options.

oneMKL Link Line Advisor is a good tool to help you understand the options:  https://www.intel.com/content/www/us/en/developer/tools/oneapi/onemkl-link-line-advisor.html

 

0 Kudos
Reply