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