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

Running MKL zgelss subroutine with AMD cpu, the code get stuck for matrices of certain orders

Kevin0616
Beginner
260 Views

Hello all. A simple test code runs under Visual Studio Fortran 2019, linked with MKL library :

 

program test
use lapack95
implicit none
integer*4::ii,jj,kk,info,Srank,lwork,n
real*8,allocatable::rwork(:)
complex*16,allocatable::work(:)
real*8,allocatable::S(:)
complex*16,allocatable::A(:,:),b(:),c(:)
n=31
allocate(A(n,n),b(n))
kk=0
do ii=1,n
b(ii)=0
do jj=1,n
kk=kk+1
A(ii,jj)=kk
b(ii)=b(ii)+A(ii,jj)
end do
end do
allocate(work(2*n**2),S(n),rwork(5*n))
call zgelss(n,n,1,A,n,b,n,S,1.0d-15,Srank,work,-1,rwork,info)
print *,info
lwork=int(real(work(1)))
deallocate(work)
allocate(work(2*n*n))
call zgelss(n,n,1,A,n,b,n,S,1.0d-15,Srank,work,lwork,rwork,info)
deallocate(work)
print *,b
pause
end program test

 

 

When i run this code on Intel CPUs (13900K and 14700K), everything works well.

However, when running it on AMD CPUs (7900x, 8945h), for some values of n, such as n <= 30 or n = 34,50,51,52, the results show slight differences compared to those from Intel CPU.

For other values of n, like n = 31,32,33,35, the code gets stuck in the zgelss subroutine and fails to return a value.

Is this due to differences in CPU architecture? In fact, the matrix problems i need to solve are more ill-conditioned than above. Using an Intel CPU with the MKL library helps me obtain correct results, but using an AMD CPU, as described above, leads to zgelss not returning value and stuck. Even when linking with other lapack95 library, the "stuck problem" no longer exists, but the result is not what i wanted (probably due to the ill-conditioned problem) . Are there any solutions to this issue? Thx!

Labels (3)
0 Kudos
2 Replies
Jörn
Novice
182 Views

Hi Kevin,

 

there have been similar problems in 2 threads "below". The temporary solution there was to replace the mkl_def.2.dll by an older version from last year. Intel is aware of this issue and is working on a fix, AFAIK.

 

Hope this helps,

Jörn

Ruqiu_C_Intel
Moderator
120 Views

The fixed on AMD issue will be available in the future release.

0 Kudos
Reply