iparm[2] value

iparm[2] value


The intel manual says iparm[2] can only be 0, 2 or 3. What happens if this has been set to 1? (It does not throw any error)



4 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Hi Dinesh,

For this case, if you set iparm[2] to 1, you probably could not reduce the time spent for reordering the matrix. And you will get error message on the top Pardiso summary "PARDISO Internationalization error. Message 164 is unknown."

In general, if you assign disallowed values to arguments, or fail to assign any value to arguments, anything may happen. When library routines are designed, a trade-off has to be made between performance and error-checking. When the number of arguments is large or the arguments are complex the cost of error-checking can be quite high, so it is not performed. (By "complex" I mean arrays or of a type with several components, not complex in the mathematical sense)

An analogy may help. There is a one-way street here with a speed limit of 35 (miles per hour). What happens if my speed is 45? What about -25?

Hi Fiona,

 What I noticed that, it seemed like the routine worked, for single processor and two processor. But with the higher number of processors, it seemed like working fine, however produced a message***Cannot bisect a graph with 0 vertices!*** 


Leave a Comment

Please sign in to add a comment. Not a member? Join today