Turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

- Intel Community
- Software Development SDKs and Libraries
- Intel® oneAPI Math Kernel Library & Intel® Math Kernel Library
- Problem linking to Math kernel in Fortran Composer XE for OSX

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page

Highlighted
##

Hi,

I would really appreciate any help to solve the following problem (or to point me in the direction as to where I can find a solution):

I recently installed Intel Fortran Composer XE for OS X (Snow Leopard on a new MacBook Pro) and I am trying to link a program to the fast Fourier Transform functions, but am having problems:

> ifort CGoct3D.f90 -L$MKLPATH -I$MKLINCLUDE -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -openmp -lpthread

CGoct3D.f90(171): error #6284: There is no matching specific function for this generic function reference. [DFTICREATEDESCRIPTOR]

StatusBig(1) = DftiCreateDescriptor(FFT_BIG, DFTI_DOUBLE, DFTI_COMPLEX, 2, DimBig)

---------------^

CGoct3D.f90(176): error #6284: There is no matching specific function for this generic function reference. [DFTICOMPUTEFORWARD]

StatusBig(i) = DftiComputeForward(FFT_BIG,newA(:,:,i),DFTBig(:,:,i))

-------------------^

CGoct3D.f90(227): error #6284: There is no matching specific function for this generic function reference. [DFTICOMPUTEBACKWARD]

StatusBig(i) = DftiComputeBackward(FFT_Big,rmatBig(:,:,i))

---------------^

CGoct3D.f90(240): error #6284: There is no matching specific function for this generic function reference. [DFTICOMPUTEFORWARD]

StatusBig(i) = DftiComputeForward(FFT_BIG,bmat(:,:,i),DFTBig(:,:,i))

-------------------^

compilation aborted for CGoct3D.f90 (code 1)

>

I had compiled mkl_dfti.f90 as root:

> cd /opt/intel/composerxe-2011.3.167/mkl/include

include > ifort -I$MKLINCLUDE -c mkl_dfti.f90

include >

> ls -l mkl_dft*

-rwxrwxrwx 1 kornak staff 9577 Apr 30 16:19 mkl_dft_type.mod

-r--r--r-- 1 27945 wheel 28055 Mar 18 03:42 mkl_dfti.f90

-r--r--r-- 1 27945 wheel 10561 Mar 18 03:42 mkl_dfti.h

-rwxrwxrwx 1 kornak staff 52484 Apr 30 16:19 mkl_dfti.mod

-rw-r--r-- 1 root wheel 783 Apr 30 16:19 mkl_dfti.o

In addition, I have the following environment variables set:

> echo $MKLROOT

/opt/intel/composerxe-2011.3.167/mkl

> echo $MKLPATH

/opt/intel/composerxe-2011.3.167/mkl/lib

> echo $MKLINCLUDE

/opt/intel/composerxe-2011.3.167/mkl/include

>

Finally, here are the relevant parts of the frotran 90 code:

Thanks for any insight.

Cheers

John

John_Kornak

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

04-30-2011
04:39 PM

23 Views

Problem linking to Math kernel in Fortran Composer XE for OSX

Hi,

I would really appreciate any help to solve the following problem (or to point me in the direction as to where I can find a solution):

I recently installed Intel Fortran Composer XE for OS X (Snow Leopard on a new MacBook Pro) and I am trying to link a program to the fast Fourier Transform functions, but am having problems:

> ifort CGoct3D.f90 -L$MKLPATH -I$MKLINCLUDE -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -openmp -lpthread

CGoct3D.f90(171): error #6284: There is no matching specific function for this generic function reference. [DFTICREATEDESCRIPTOR]

StatusBig(1) = DftiCreateDescriptor(FFT_BIG, DFTI_DOUBLE, DFTI_COMPLEX, 2, DimBig)

---------------^

CGoct3D.f90(176): error #6284: There is no matching specific function for this generic function reference. [DFTICOMPUTEFORWARD]

StatusBig(i) = DftiComputeForward(FFT_BIG,newA(:,:,i),DFTBig(:,:,i))

-------------------^

CGoct3D.f90(227): error #6284: There is no matching specific function for this generic function reference. [DFTICOMPUTEBACKWARD]

StatusBig(i) = DftiComputeBackward(FFT_Big,rmatBig(:,:,i))

---------------^

CGoct3D.f90(240): error #6284: There is no matching specific function for this generic function reference. [DFTICOMPUTEFORWARD]

StatusBig(i) = DftiComputeForward(FFT_BIG,bmat(:,:,i),DFTBig(:,:,i))

-------------------^

compilation aborted for CGoct3D.f90 (code 1)

>

I had compiled mkl_dfti.f90 as root:

> cd /opt/intel/composerxe-2011.3.167/mkl/include

include > ifort -I$MKLINCLUDE -c mkl_dfti.f90

include >

> ls -l mkl_dft*

-rwxrwxrwx 1 kornak staff 9577 Apr 30 16:19 mkl_dft_type.mod

-r--r--r-- 1 27945 wheel 28055 Mar 18 03:42 mkl_dfti.f90

-r--r--r-- 1 27945 wheel 10561 Mar 18 03:42 mkl_dfti.h

-rwxrwxrwx 1 kornak staff 52484 Apr 30 16:19 mkl_dfti.mod

-rw-r--r-- 1 root wheel 783 Apr 30 16:19 mkl_dfti.o

In addition, I have the following environment variables set:

> echo $MKLROOT

/opt/intel/composerxe-2011.3.167/mkl

> echo $MKLPATH

/opt/intel/composerxe-2011.3.167/mkl/lib

> echo $MKLINCLUDE

/opt/intel/composerxe-2011.3.167/mkl/include

>

Finally, here are the relevant parts of the frotran 90 code:

[bash]PROGRAM bayes3D ! .. Use Statements .. Use MKL_DFTI ! none in USE ! .. Implicit None Statement .. IMPLICIT NONE ! .. Default Accessibility .. ! --- snip ! ALLOCATE (DimBig(2)) DimBig(1) = nl1 DimBig(2) = nl2 StatusBig(1) = DftiCreateDescriptor(FFT_BIG, DFTI_DOUBLE, DFTI_COMPLEX, 2, DimBig) StatusBig(1) = DftiCommitDescriptor(FFT_BIG) ALLOCATE (DFTBig(nl1,nl2,zl)) DO i=1,zl StatusBig(i) = DftiComputeForward(FFT_BIG,newA(:,:,i),DFTBig(:,:,i)) END DO[/bash]

Thanks for any insight.

Cheers

John

10 Replies

Highlighted
##

All the errors are related to the types of the arguments to the FFT subroutines: "There is no matching specific function
for this generic function reference". Yet, you seem to think that the declarations of those variables were not relevant and did not show them. Without that information, it is impossible to diagnose the problem.

mecej4

Black Belt

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

04-30-2011
09:05 PM

23 Views

Highlighted
##

Thank you for the very quick response.

I apologize for the incomplete information. I assumed that I was having a problem linking to the library without considering alternatives!

Redirecting me to realize it was a problem with my coding meant that I was able to debug it and get my code running correctly.

Thanks again

Cheers

John

John_Kornak

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

05-04-2011
11:30 AM

23 Views

Thank you for the very quick response.

I apologize for the incomplete information. I assumed that I was having a problem linking to the library without considering alternatives!

Redirecting me to realize it was a problem with my coding meant that I was able to debug it and get my code running correctly.

Thanks again

Cheers

John

Highlighted
##

PS. Is there a way to delete this posting from the forum?

Given my poor initial description of the problem I doubt this will be of much use to anyone else.

Cheers

John

John_Kornak

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

05-04-2011
11:32 AM

23 Views

Given my poor initial description of the problem I doubt this will be of much use to anyone else.

Cheers

John

Highlighted
##

You should be able to delete your own posts, at least those which no one has yet replied, using the delete link which should appear next to the reply link. It's generally preferred not to delete posts which leave a dangling reply. I'll delete this reply if you delete your preceding ones.

TimP

Black Belt

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

05-04-2011
12:29 PM

23 Views

Highlighted
##

Sorry if this is a dumb question but what do you mean by a "dangling reply"?

Cheers

John

John_Kornak

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

05-04-2011
12:53 PM

23 Views

Sorry if this is a dumb question but what do you mean by a "dangling reply"?

Cheers

John

Highlighted
##

If someone has replied to your post, and you delete your post later on, the value of that reply may be destroyed.

TimP

Black Belt

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

05-04-2011
03:07 PM

23 Views

Highlighted
##

John_Kornak

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

05-04-2011
03:42 PM

23 Views

Got it. Thanks.

I will just leave the post as is then.

Cheers

John

I will just leave the post as is then.

Cheers

John

Highlighted
##

yuan_z_

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

03-05-2013
10:50 PM

23 Views

I am facing the same question as you once did. how did you solve your problem? Can you give me some help . I am looking forward to your reply.

My codes is as follows:

error #6284: There is no matching specific function for this generic function reference. [FFT]

USE FOURIER, ONLY : &

FFT, & ! The Fast Fourier Transform routine.

GetFFTDims, &

CleanFFT, &

GetFFTComplexDims

VWPot = 0.5 * FFT( FFT(VWPot) * qTable**2 ) / VWPot

Highlighted
##

Sorry yuan z. I do not remember exactly what the problem. I think it was an error in my code where I declared an array to have the wrong type (e.g., integer array instead of real).

John_Kornak

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

03-06-2013
11:54 AM

23 Views

Highlighted
##

mecej4

Black Belt

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

03-06-2013
04:33 PM

23 Views

Yuan Z.:

Show the interface for function FFT, and the declarations of the variables VWPot and qTable. Apparently, your module Fourier contains one or more specific functions with the generic name FFT, and the type of the argument in the invocation of the function FFT does not match the types of the arguments of any of the specific functions.

For more complete information about compiler optimizations, see our Optimization Notice.