Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
7234 Discussions

DFTICOMPUTEFORWARD... Debug Assertion Failed message

OP1
New Contributor III
598 Views

[Edit: Actually the program fails for values of N which are a power of 2, and works otherwise... It fails for N=8, 16, 1024 etc..., and works for 9, 1023, 4097...]

I am using Intel Fortran 10.1, Intel MKL 8.1.1 and Visual Studio .NET 2003

I have a very simple program that uses the DFT commands (see example below). This programs triggers a "Debug Assertion Failed" message when I launch it (for a Debug configuration). The calculations are properly performed, and the results are good, but upon exiting the program (after the READ(*,*) statement) the error occurs. The same thing happens for a Release configuration.

Any idea?

Thanks in advance!!

PROGRAM

TEST
USE
MKL_DFTI
IMPLICIT NONE
INTEGER(4) N,STATUS,I

REAL(8)

PI,T
REAL(8)
,ALLOCATABLE :: TIME_DATA(:)
TYPE(DFTI_DESCRIPTOR),POINTER :: DESCRIPTOR_HANDLE

PI = 4.0D+0*

DATAN(1.0D+0)
N=8
ALLOCATE(TIME_DATA(N))
DO I=1,N
T = (2.0D+0*PI*
DBLE(I-1)/DBLE(N))
TIME_DATA(I) =
DCOS(T)+DSIN(T)+1.2*DCOS(2.0D+0*T)+2.5D+0
ENDDO
WRITE
(*,'(20F10.2)') TIME_DATA

STATUS = DFTICREATEDESCRIPTOR(DESCRIPTOR_HANDLE,DFTI_DOUBLE,DFTI_REAL,1,N)
STATUS = DFTICOMMITDESCRIPTOR(DESCRIPTOR_HANDLE)
STATUS = DFTICOMPUTEFO RWARD(DESCRIPTOR_HANDLE,TIME_DATA)

WRITE(*,'(20F10.2)') TIME_DATA

STATUS = DFTIFREEDESCRIPTOR(DESCRIPTOR_HANDLE)

READ

(*,*)

END

PROGRAM

0 Kudos
1 Reply
Gennady_F_Intel
Moderator
598 Views

Hi,

the problem you met looks like another issue was disscused in the Forum. Please follow the link: "__http://software.intel.com/en-us/forums//topic/60110"

Please try to use padding for your case - something like that:

ALLOCATE(TIME_DATA((N/2+1)*2))

Regards,

Gennady

0 Kudos
Reply