Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

Problem with IMSL with Intel Visual Fortran Composer

Pierre_D_
Beginner
1,180 Views


Hey

I use Intel Visual Fortran Composer with IMSL libraries and Microsoft Visual studio 10

Here is a piece of my code :

program main  
      !use imsl_libraries
      USE ZANLY_INT 
      USE WRCRN_INT
      INCLUDE 'link_fnl_shared.h'  

      IMPLICIT   NONE
!     Declare variables
      Real(8)  ERRABS,ERRREL
      INTEGER    INFO(3), NGUESS, NNEW
      COMPLEX(8)    F1, F2, Z(3), ZINIT(3)
      EXTERNAL   F1, F2
!     Set the guessed zero values in ZINIT
!     ZINIT = (1.0+1.0i 1.0+1.0i 1.0+1.0i)
      DATA ZINIT/3*(0.52,-0.16)/

!     Set values for all input parameters
      NNEW   = 3
      NGUESS = 0
      
!     Find the zeros of F
      CALL ZANLY (F2, Z, ERRABS=1.e-8,ERRREL=1.e-8, NNEW=NNEW, NGUESS=NGUESS,ZINIT=ZINIT, ITMAX=100000, INFO=INFO) !
!     Print results
      !CALL WRCRN ('The zeros of (Z**3 + 5.0*Z**2 + 9.0*Z + 45.0) are', Z)
      write(*,*) 'Exemple 1 : The zeros of (Z**3 + 5.0*Z**2 + 9.0*Z + 45.0) are :'
      write(*,"(3('('F10.6','F10.6') '))") Z
      print *,INFO(1),F2(Z(1))  ! nombre d'ittérations et résultat
      write(*,*) '===================================================================='
      
      DATA ZINIT/3*(0.52,-0.16)/
      NNEW   = 1
      NGUESS = 1
      CALL ZANLY (F1, Z, ERRABS=1.e-8,ERRREL=1.e-8, NNEW=NNEW, NGUESS=NGUESS,ZINIT=ZINIT, ITMAX=100000, INFO=INFO) !
!     Print results
      !CALL WRCRN ('The zeros of (exp(Z)-(3+3i) are', Z)
      write(*,*)'Exemple 2 : The zeros of [exp(Z)-(3+3i)] are :'
      write(*,"(2('('F10.6','F10.6') '))") Z
      print *,INFO(1),F1(Z(1))
      stop
      END program
      
!     External complex function
      COMPLEX (8) FUNCTION F2 (Z)
      COMPLEX (8)    Z
      F2 = Z**3 + 5.0*Z**2 + 9.0*Z + 45.0
      RETURN
      End
    
      COMPLEX (8) FUNCTION F1 (Z)
      COMPLEX (8)    Z
      F1 = Z**2*cdexp((3.0,3.0)*Z)-(3.0,3.0)
      RETURN
      END

My problem : this code works with simple precision but when I try to use the routine Zanly with double precision (like in the above code).

I have the following message after compilation:

Error    1     error #6285: There is no matching specific subroutine for this generic subroutine call.   [ZANLY]  

Zanly seems to be not recognized.

I have try to use several things but without success. Could you give me a solution to this problem.

When I use only simple precision, the code works fine???

 

Sincerely

0 Kudos
13 Replies
mecej4
Honored Contributor III
1,180 Views

Change the constants used for ERRABS and ERRREL to double precision constants (1D-8).

Alternatively, set double precision variables to the desired values and pass their names as actual arguments.

0 Kudos
andrew_4619
Honored Contributor II
1,180 Views

I noted that ERRABS=1.e-8,ERRREL=1.e-8, are both single precision on the ZANLY call

ERRABS=1.e-8_8,ERRREL=1.e-8_8,

or 

ERRABS=1.D-8,ERRREL=1.D-8,

0 Kudos
Pierre_D_
Beginner
1,180 Views

Now it works fine in double precision.

The problem was on ERRABS and ERRREL variables which were declared in double precision but referred as simple precision in the call of Zanly procedure.

Thanks

0 Kudos
mecej4
Honored Contributor III
1,181 Views

Pierre D. wrote:
 The problem was on ERRABS and ERRREL variables which were declared in double precision but referred as simple precision in the call of Zanly procedure. 

That is an incorrect view of what happened, and is caused by confusing variable names and keyword/optional-argument names. The declared variables ERRABS and ERRREL are neither defined nor used in the program. If you write the CALL as

CALL ZANLY (F2, Z, ERRABS=ERRABS,ERRREL=ERRREL, NNEW=NNEW,...

the ERRABS to the left of '=' is the name of an optional argument, but the ERRABS to the right of '=' is the variable being passed as the argument. The latter could have been named something else, as well.

If you wrote an expression to the right of the '=', an unnamed temporary variable would be created, the value of the expression assigned to it, and the variable passed as the actual argument. Thus,

CALL ZANLY (F2, Z, ERRABS=3d0*ERRABS,ERRREL=1.5d0*ERRREL, NNEW=NNEW,...

is perfectly acceptable, as well.

If you compiled your original program, modified only by replacing 'e-8' by 'd-8' in the CALL argument list, and used the compiler option /warn:all, the compiler would inform you:

xzan.f(9): remark #7712: This variable has not been used.   [ERRABS]
      Real(8)  ERRABS,ERRREL
---------------^
xzan.f(9): remark #7712: This variable has not been used.   [ERRREL]
      Real(8)  ERRABS,ERRREL
----------------------^

0 Kudos
Pierre_D_
Beginner
1,181 Views

Hello.

I need your help.

I have been using for a long time Intel Visual Fortran XE composer 2013 (with a Microsoft Visual Studio Environnement) together with the IMSL libraries . Recently I tried to install all the package on a new computer but a message error says me that my licence serial number has expired. I don't understand because I thought it was a permanent licence.

What can I do? If I have to buy another licence? What kind of package must I choose?

Thank you for your answer.

Pierre DISSEIX

0 Kudos
mecej4
Honored Contributor III
1,181 Views

Some licenses may apply a restriction on how many PCs can have a copy of the Intel compiler package active at the same time. Sometimes, especially when a license being reapplied is many years old, they may have to reissue a fresh license file. At any rate, you will need to take the matter up with Intel support at https://supporttickets.intel.com/?lang=en-US . 

0 Kudos
Pierre_D_
Beginner
1,181 Views

Is it possible to reissue a fresh license file to continue to use my old product on a new computer?

Thanks

 

0 Kudos
Steve_Lionel
Honored Contributor III
1,181 Views

Your license should not have expired - perhaps the error message said something different? The support term can expire, but that would only prevent you from installing a newer version. I suggest following mecej4's advice and contacting support, since license issues can't be handled in the forum.

0 Kudos
Pierre_D_
Beginner
1,181 Views

 Problem with IMSL libraries not resolved

Hey,

I need some help from you.

I have been using for more than ten years Intel Visual Fortran Composer.

I'm working in Research in Physics in the University of Clermont-Ferrand(France).

In 2014 (some thing like that) I bought a licence of Intel Visual Fortan Composer XE 2013 sp1 together with the IMSL library.

I have change several time of computing system and my problem is that now I cannot install  on a new computer the IMSL with the Visual Fortan Composer XE 2013 sp1.

What is the problem?  Do I have to buy again a licence for the IMSL?

Will the IMSL be compatible with the Intel Visual Fortan Composer XE 2013 sp1 or do I have to buy a new licence for all.

Il would prefer to keep my IDE.

I don't know if it is the rigtht forum for these questions but have you a solution for this problem or if it is not the case could you u connect me to a forum where they will know what to do.

I wait for your answer.

Sincerly

Pierre DISSEIX

0 Kudos
Steve_Lionel
Honored Contributor III
1,181 Views

Intel no longer sells licenses for IMSL, but you should not need a new license. You don't say what went wrong when you tried to reinstall. Do you have a backup of the .LIC file for the IMSL license from the old system? That should work better than the serial number.

If you need more help with this you will need to contact Intel Support through https://supporttickets.intel.com/?lang=en-US

0 Kudos
mecej4
Honored Contributor III
1,181 Views

Many old/obsolete software packages used 16-bit installers, which will not run on Windows 10, even if the package itself is capable of running on Windows 10. If you need to move such a package from an old PC to a new one, either back-up on the old and restore on the new PC the installed package, or run a Windows 95 or XP VM on the new PC and run the 16-bit installer in the VM.

The packages that you mention (Intel Fortran 2013 SP1) and IMSL 7 were probably released in the third quarter of 2014, and should be compatible with Windows 7.

As Steve L. already noted, you have not stated what is exactly the problem that you ran into. Were you able to install IMSL and the Fortran compiler, but cannot build? Were you able to build but the EXE will not run? We need to know the specifics before we can offer suggestions to overcome the problem.

0 Kudos
Pierre_D_
Beginner
1,181 Views

"As Steve L. already noted, you have not stated what is exactly the problem that you ran into. Were you able to install IMSL and the Fortran compiler, but cannot build? Were you able to build but the EXE will not run? We need to know the specifics before we can offer suggestions to overcome the problem."

My problem is that now I cannot install the IMSL on a new computer

I can install  the Visual Fortan Composer XE 2013 sp1 without any problem but when I want to install the IMSL a message error says me that my licence serial number has expired.

Another question : Intel no longer sells licenses for IMSL and I have to buy a new licence forr IMSL 7 directly from Roguewave. But my question concerns the compatibility of the latter with Intel® Parallel Studio XE for Windows. I have Intel(R) Visual Fortran Composer XE 2013 SP1 Update 2 Integration for Microsoft Visual Studio* 2010, Is it compatible with the Roguewave IMSL.

Thank you very much for your attention

 

 

0 Kudos
mecej4
Honored Contributor III
1,181 Views

Pierre D. wrote:
My problem is that now I cannot install the IMSL on a new computer

the IMSL? There are many versions of IMSL. You will need to be specific about which version you have, and how you attempted to install. What is the version of IMSL that you attempted to install? What steps did you try when you did so? What is the name of the IMSL package? Did you purchase that package from Intel or Roguewave? Do you have one of the installers named at https://software.intel.com/en-us/articles/rogue-wave-imsl-fortran-numerical-libraries-70-for-intel-parallel-studio-xe-composer ?

Pierre D. wrote:
Another question : Intel no longer sells licenses for IMSL and I have to buy a new licence forr IMSL 7 directly from Roguewave. But my question concerns the compatibility of the latter with Intel® Parallel Studio XE for Windows. I have Intel(R) Visual Fortran Composer XE 2013 SP1 Update 2 Integration for Microsoft Visual Studio* 2010, Is it compatible with the Roguewave IMSL.

Again, your question is vague. IMSL came/comes in many versions. If you wish to use IMSL with Intel Fortran 2013 SP1, you will need a version compatible with it. That can be either a version released by Intel or Roguewave, but the release notes for that version of IMSL should tell you the version of the Intel compiler which is suitable.

We cannot help you with license files or licensing issues in this forum. You will need to contact Intel Support for that.

0 Kudos
Reply