Quantcast
Channel: Intel® oneAPI Math Kernel Library & Intel® Math Kernel Library
Viewing all articles
Browse latest Browse all 2652

misunderstanding of pardiso_64

$
0
0

Dear sir or madam:

Hi, I need to use mkl pardiso to help me solve problem in 64bit linux system. Because I use 64bit-integer (ILP64 interface layer), I need to make use the function, compile command and library to link is correct. However, I get a little confuse about pardiso_64 function.

From the website http://software.intel.com/sites/products/documentation/hpc/mkl/mklman/GU...

From the Description: You can use it together with the usual LP64 interfaces for the rest of Intel MKL functionality. In other words, if you use 64-bit integer version (pardiso_64), you do not need to re-link your applications with ILP64 libraries. Take into account that pardiso_64 may perform slower than regular pardiso on reordering and symbolic factorization phase.

From the Note: pardiso_64 is supported only in the 64-bit libraries. If pardiso_64 is called from the 32-bit libraries, it returns error =-12.

I know that I should compile my main.cpp program using the following command:

g++ -std=c++11 -O2 -DMKL_ILP64 main.cpp -lmkl_intel_ilp64 -lmkl_core -lmkl_intel_thread -liomp5

And in the main.cpp

mkl_set_num_threads(std::thread::hardware_concurrency());

void*pt[64];
MKL_INT mtype{6};
std::vector<MKL_INT>iparm(64);
pardisoinit(pt,&mtype,iparm.data());
iparm.at(34)=1;

But which function I should call next, just pardiso or pardiso_64?

Moreover, I use mkl11.1 and gcc4.8.2

Thank you very much

 

 


Viewing all articles
Browse latest Browse all 2652

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>