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

LAPACKE_dsyev on Xeon Phi - eigenvalues on xeon phi

Fábio_A_
Beginner
656 Views

Dear MKL Forum,

       I am testing a Xeon Phi x100 family with 5GB using automatic offload, MKL composer_xe_2013.1.117 and icc 13.0.1, a function as cblas_dgemm is working well with xeon phi. However the function LAPACKE_dsyev is not using xeon Phi. The documentation says the ?syev should work with a N bigger then 8000, my matrix has 10000. There is any different configuration to calculate eigenvalues in xeon phi ?

 Best regards

0 Kudos
11 Replies
Ying_H_Intel
Employee
656 Views

Hi Fabio, 

Is it possible to try later version (MKL 11.3. update 3, composer 2016 update 3)?  The mkl in 2013.1.117 is about MKL 11.0.1, there were much modify since the version.

I check the release notes: 

https://software.intel.com/en-us/articles/intel-mkl-110-release-notes

https://software.intel.com/en-us/articles/intel-mkl-111-release-notes

It mentioned some known issues like 

  • There is no LAPACK Automatic Offload (AO) on Windows* OS for ilp64 interface. To enable AO LAPACK offload use 32-bit integer and lp64 interface

Service functions like mkl_mic_enable, mkl_mic_set_offload_report etc. are missing . 

So please try latest version if possible, or please tell some details about your system, command line  and the result if set 

mkl_mic_set_offload_report=2. 

Best Regards,

Ying 

 

0 Kudos
Fabio_A_1
Beginner
656 Views

Dear Ying,

  Now i am using the icc 16.0.3 and MKL 11.3.3- (i believe is the lastest). The DGEMM operation runs fine in the Xeo Phi, however the dsyev executes on the host.

   The output from offload report:

[MKL] [MIC --]   [AO Function] DGEMM
[MKL] [MIC --]   [AO DGEMM Workdivision] 0.29 0.71
[MKL] [MIC 00] [AO DGEMM CPU Time] 11.060836 seconds
[MKL] [MIC 00] [AO DGEMM MIC Time] 8.325781 seconds

  In the dsyev operation, the N is 10000,. Please, there is any way to know why the operation is not on the Xeon phi ?

 Best regards

0 Kudos
Ying_H_Intel
Employee
656 Views

Dear Fabio,

Thank you for your test.  We can reproduce the problem. Our developer will investigate it and get back later if any result.

Best Regards,

Ying

0 Kudos
Gennady_F_Intel
Moderator
656 Views

Fabio, the issue is reproduced on our side and escalated. The preliminary plan to provide the fix of the problem the next ( nearest) MKL update. We will let you know when this will happen. thanks. 

0 Kudos
Gennady_F_Intel
Moderator
656 Views

Fabio, the latest 11.3.3 contains the fix of the problem. Here is the mkl_lapacke.h  from 11.3.3 : 

LAPACK_DECL
lapack_int LAPACKE_mkl_stppack( int matrix_layout, char uplo, char trans, lapack_int n, 
                                float* ap, lapack_int i, lapack_int j, lapack_int rows, 
                                lapack_int cols, const float* a, lapack_int lda );

lapack_int LAPACKE_mkl_stpunpack( int matrix_layout, char uplo, char trans, lapack_int n, 
                                  const float* ap, lapack_int i, lapack_int j, lapack_int rows, 
                                  lapack_int cols, float* a, lapack_int lda );

 

and etc ......

0 Kudos
Fábio_A_
Beginner
656 Views

Dear Gennady Fedorov,

   I updated MKL to 11.3.3.210 and the with the function DGEMM still working fine, however the function

        LAPACKE_dsyev(LAPACK_ROW_MAJOR,'V', 'U',   m,  temp, m,w); the M size is 10000


   The processing still is out of Xeon Phi, this my compiling options:

LINK= -lpthread -ldl  -Wl,--start-group ${MKLROOT}/lib/intel64/libmkl_intel_ilp64.a ${MKLROOT}/lib/intel64/libmkl_core.a ${MKLROOT}/lib/intel64/libmkl_intel_thread.a -Wl,--end-group -lpthread -lm -ldl

INC   =  -I. -L. -D INTEL -D OMP -O3 -qopenmp -Wall  -DMKL_ILP64 -qopenmp -I${MKLROOT}/include

  This is the offload report:

[MKL] [MIC --]   [AO Function] DGEMM
[MKL] [MIC --]   [AO DGEMM Workdivision] 0.00 1.00
[MKL] [MIC 00] [AO DGEMM CPU Time] 13.124382 seconds
[MKL] [MIC 00] [AO DGEMM MIC Time] 10.678612 seconds
[MKL] [MIC 00] [AO DGEMM CPU->MIC Data] 1600000000 bytes
[MKL] [MIC 00] [AO DGEMM MIC->CPU Data] 3200000000 bytes

  Please, there is any way to find out why the  LAPACKE_dsyev is not running on xeon phi ?

 Best regards

 

0 Kudos
Gennady_F_Intel
Moderator
656 Views

sorry - this is wrong thread. I mean another issue which were fixed in update 3.

0 Kudos
Fábio_A_
Beginner
656 Views

Please, there any new on this issue ?

0 Kudos
Ying_H_Intel
Employee
656 Views

Hi Fabio, 

The issue should be targeted to be fixed in 2017 update 1, which should be available for download in  the two days.  You are welcomed to try it out

Thanks

Ying 

0 Kudos
Ying_H_Intel
Employee
656 Views

Hi Fabio, 

Any chance to try the MKL 2017 update 1?

Thanks

Ying 

0 Kudos
Fabio_A_1
Beginner
656 Views

Dear Ying,

  Now i am using the MKL 2017 update 1, some of the LAPACKE_dsyev was on Phi:

[MKL] [MIC --]   [AO Function] DSYRDB
[MKL] [MIC --]   [AO DSYRDB Workdivision] -1.00 -1.00
[MKL] [MIC 00] [AO DSYRDB CPU Time] 41.617044 seconds
[MKL] [MIC 00] [AO DSYRDB MIC Time] 13.513522 seconds
[MKL] [MIC 00] [AO DSYRDB CPU->MIC Data] 2792328424 bytes
[MKL] [MIC 00] [AO DSYRDB MIC->CPU Data] 796024744 byte

 

 Thank all for the solution.

 

  Best regards.

0 Kudos
Reply