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

MKL 2017 Update 1, MKL_DIRECT_CALL and zgetri issue

AndrewC
New Contributor III
379 Views

I have found that when MKL_DIRECT_CALL is on, there seems to be an issue with one of the zgetrf/zgetri  and 5x5 matrices. I am getting quite different results compared to MKL 2016 ( which did not have LAPACK direct call functionality) and I have tracked it down to the DIRECT_CALL implementation of theses LAPACK functions. Is this a known issue?

It would be really nice if the DIRECT _CALL allowed , via the use of #DEFINEs to be able to turn off the functionality in a more fine grained manner rather than all or nothing.

 

0 Kudos
11 Replies
AndrewC
New Contributor III
379 Views

Just as a hint. I am pretty sure the problem is not in 4x4 or 6x6 matrices as I would have had 100's of QA failures. It **seems** to be related to 5x5 which is an unusual size in my QA cases so only a couple failed. Maybe someone could look at this and see something by inspection.

0 Kudos
AndrewC
New Contributor III
379 Views

Here is a reproducer. Just comment out MKL_DIRECT_CALL and the results change significantly

Tested on WIndows, Visual Studio 2015, MKL 2017 Update 1, 64-bit

Test project MUST be using the Intel Compiler!

 

0 Kudos
Zhen_Z_Intel
Employee
379 Views

Dear customer,

I could not reproduce your problem in same platform(VS 2015& MKL2017u1&Intel64), could you please provide more info:

1. which version of MKL you compared? you said MKL2016, could you please provide specific version number.
2. what's the result you get? please paste here.
3. how's your compiling & linking commands? please specify your linked libraries.

I am looking forward your reply. Thanks.

Best regards,
Fiona

0 Kudos
AndrewC
New Contributor III
379 Views

Maybe I am not making myself clear.

  • I am using Intel C++ Composer XE 2017 Update 1 with MKL 2017 Update 1
  • Comment the line #define MKL_DIRECT_CALL and build/run the test, saving the output
  • Un-comment the line , so that MKL_DIRECT_CALL is defined and build/run, saving the output.
  • The output is different. The correct result is when MKL_DIRECT_CALL is NOT #defined/used

 

.I have attached the complete Visual Studio Project.

0 Kudos
Zhen_Z_Intel
Employee
379 Views

Dear customer,

I found the problem, thank you for posting the issue. We will investigate on it.

Best regards,
Fiona

0 Kudos
AndrewC
New Contributor III
379 Views

I have opened a premier support ticket #02634419 on this.

0 Kudos
Eugene_C_Intel1
Employee
379 Views

vasci_,

We investigated the issue. It is caused by a bug in implementation of LU (?GETRF routine) for MKL_DIRECT_CALL for size 5x5. It will be fixed in the nearest MKL release. But as a workaround you can fix it in your own mkl_direct_lapack.h header. Please find attached a patch with the fix.

Thank you for your report!

Regards,
Eugene

0 Kudos
AndrewC
New Contributor III
379 Views

OK, thanks! Hopefully this will make it into Update 2.

0 Kudos
Gennady_F_Intel
Moderator
379 Views

Hi Andrew, We have added the fix in the latest MKL version ( MKL v.2017 update 3) which has been released yesterday. Please update, take a look and make sure that we have indeed fixed the problem. Thank you! 

0 Kudos
AndrewC
New Contributor III
379 Views

OK, I am going through the process of updating to "Composer Update 4"

0 Kudos
AndrewC
New Contributor III
379 Views

The issue is fixed!

0 Kudos
Reply