I build a project (vs2010 + IVF) calling Lapack subroutines, but when I enable process OpenMP directives( Generate parallel code), and i encounted the
Debug Assertion Failed!
File:f:\dd\vctools\crt_bld\self_x86\crt\src\winsig.c
Line: 417
Expression:(" Invalid signal or error",0)
program main
implicit none
integer,parameter:: NMAX = 4000
integer,parameter:: LWORK = 100*NMAX
integer IPIV(NMAX)
complex WORK(LWORK)
INTEGER LDA, INFO
INTEGER maxedge ,error,ii
Complex ,allocatable:: cmtx(:,:),crhs(:)
maxedge = 1396
allocate(cmtx(maxedge,maxedge),crhs(maxedge),stat=error)
if(error .ne. 0)then
print *,'Allocate cmtx and crhs failure'
stop
endif
cmtx = (0.0,0.0)
do ii = 1,maxedge
cmtx(ii,ii) = (1.0,0.0)
enddo
print *,'Start LU decompostion '
LDA = maxedge
call CGETRF(maxedge,maxedge,cmtx,LDA,IPIV,INFO)
if( INFO .eq. 0)then
call CGETRI(maxedge,cmtx,LDA,IPIV,WORK,LWORK,INFO)
if(INFO .eq. 0) print *,'LU Success'
else
print *,'Lapack Factor failure'
stop
endif
stop
end program