2016-01-10 62 views
0

我正在使用VS社區2013和並行工作室2015版本。現在我想使用代碼示例來檢查MKL包。我已經設置了項目<fortran<lib mkl平行,但它仍然顯示了錯誤:無法將VS Fortran鏈接到MKL並將MKL庫設置爲'並行'

can not open include file "fftw_f77".

的程序如下。

PROGRAM COMPLEX_1D_DOUBLE_EX2 

     INCLUDE 'fftw_f77.i' 
     INCLUDE 'mkl_fftw_examples.fi' 

     INTEGER N,I 
     PARAMETER (N=10) 
     INTEGER*8 MY_PLAN 

     COMPLEX*16 IN(N),OUT(N),EXP_X(N) 
     REAL*8 ERR,SCALE 

! 
!  Initialize IN and copy to expected EXP_X 
! 
     PRINT *, 'Initialize data array' 
     CALL INIT_COMPLEX_VECTOR_Z(IN,N) 
     DO I=1,N 
     EXP_X(I)=IN(I) 
     END DO 

! 
!  Create FFTW plan for 1D forward transform 
! 
     PRINT *, 'Create FFTW plan for 1D forward transform' 
     CALL FFTW_F77_CREATE_PLAN(MY_PLAN,N,FFTW_FORWARD,FFTW_ESTIMATE) 

! 
!  Compute Forward 
! 
     PRINT *, 'Compute Forward' 
     CALL FFTW_F77_ONE(MY_PLAN,IN,OUT) 

     do I=1,N 
      print *, 'Forward: OUT(', I, ') = ', OUT(I) 
     end do 

! 
!  Destroy FFTW plan 
! 
     PRINT *, 'Destroy FFTW plan' 
     CALL FFTW_F77_DESTROY_PLAN(MY_PLAN) 

! 
!  Create FFTW plan for 1D backward transform 
! 
     PRINT *, 'Create FFTW plan for 1D backward transform' 
     CALL FFTW_F77_CREATE_PLAN(MY_PLAN,N,FFTW_BACKWARD,FFTW_ESTIMATE) 

! 
!  Compute Backward 
! 
     PRINT *, 'Compute Backward' 
     CALL FFTW_F77_ONE(MY_PLAN,OUT,IN) 

     do I=1,N 
      print *, 'Backward: IN(', I, ') = ', IN(I) 
     end do 

! 
!  Destroy FFTW plan 
! 
     PRINT *, 'Destroy FFTW plan' 
     CALL FFTW_F77_DESTROY_PLAN(MY_PLAN) 

! 
!  Scale result. FFTW can't do this itself. 
! 
     PRINT *, 'Scale result by 1/N' 
     SCALE=1.0D0/N 
     DO I=1,N 
     IN(I)=SCALE*IN(I) 
     END DO 

! 
!  Check results 
! 
     PRINT *, 'Check results' 
     CALL CHECK_RESULT_Z(IN,EXP_X,N,ERR) 
     PRINT *, 'Accuracy=',ERR 
     IF (ERR .GT. MAX_DOUBLE_ERR) THEN 
     PRINT *, 'TEST FAILED' 
     STOP 1 
     END IF 
     PRINT *, 'TEST PASSED' 

     PRINT *, 'END OF TEST' 

     END PROGRAM 

該代碼應該是正確的,因爲它是從官方網站作爲例子。錯誤來自環境設置或路徑設置,但我不知道如何設置它。我嘗試了以下步驟:

  1. 轉到項目>屬性>配置屬性>英特爾性能庫。
  2. 根據需要選擇「並行」,「順序」或「羣集」來更改使用MKL屬性設置。

但它不起作用。

回答

-1

嘗試通過

INCLUDE 'fftw/fftw_f77.i' 
+0

更換線

INCLUDE 'fftw_f77.i' 

現在它顯示錯誤:錯誤#5102:無法打開包含文件 'mkl_fftw_examples.fi' – gugabrielle

+1

請不要張貼代碼只有答案。他們對未來的遊客無用。 – Sumurai8