Quantcast
Channel: Intel® Software - Intel® Fortran Compiler for Linux* and macOS*
Viewing all articles
Browse latest Browse all 2746

Switch from GNU to Ifort both under Linux

$
0
0

Hi there,

I actually run simulations with ABAQUS Standard 6.14-1.
Thereby I use some subroutines written in a combination of Fortran 77 and free-format (unlimited length of lines). In general Subroutines should be written in Fortran 77, but on the actual machine it works good.
Because of performance limit I’d like to change the machine.

The actual machine is a Debian Version 4.6.3-14 – Compiling with GNU Version 4.7.2-5.
The new one is called RedHat5 – Compiling with Intel Fortran 64 XE Version 12.0.
Both use Linux as operating system.

The “simple” task is now to switch the environment in that way, that it works the same way using the Intel Fortran Compiler instead of GNU Fortran.

Details of the actual/old system

excerpt of the environment-file

compile_fortran = [fortCmd,

'-c', '-fPIC', '-extend_source', '-O2', '-I%I', '-ffixed-line-length-none', '-fno-align-commons',
'-std=f2008', '-frecursive']

 

excerpt of one Subroutine (subroutine.f)
(this is the third one of 9, but the first that makes trouble) --> Uploaded 1 & 2:

Excerpt1-Subr.f.PNG

Excerpt2-Subr.f.PNG

Line 140 is the first one that makes troube on the “new machine” using the environment-file below.
I tried a word-wrap by using & at the end or beginning of a line (column 5 and further), $ or 1 but it doesn’t work at all. Further I tried to shift the whole subroutine in that way, that the first word starts at column 6 as prescribed in Fortran 77… but that works less.

 

Details of the new system

excerpt of the environment-file

compile_fortran = [fortCmd,
                  '-V',
                  '-c', '-fPIC', '-auto', '-mP2OPT_hpo_vec_divbyzero=F', '-extend_source',
                   '-WB', '-I%I']

Via trial and error I migth exclude “-free” , “-frecursive” (isn’t supported), “assume cc_omp”,

 

Typical error-massages:

/tmp/2198878.1.abax18/U_Data_Calculate.f(140): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: ( <IDENTIFIER> <CHAR_CON_KIND_PARAM> <CHAR_NAM_KIND_PARAM> <CHARACTER_CONSTANT> <INTEGER_CONSTANT> ...

          IF ( NR .EQ. PHASE_FERRITE)     Data_Density_Jablonka   = (rhoF0  +  rhoF1*TEMP +  rhoF2*TEMP*TEMP) *

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

/tmp/2198878.1.abax18/U_Data_Calculate.f(141): error #5082: Syntax error, found '(' when expecting one of: BLOCK BLOCKDATA PROGRAM MODULE TYPE BYTE CHARACTER CLASS DOUBLE DOUBLECOMPLEX ...

    1     (1.0 - rhoFC*cC)

----------^

/tmp/2198878.1.abax18/U_Data_Calculate.f(142): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: ( <IDENTIFIER> <CHAR_CON_KIND_PARAM> <CHAR_NAM_KIND_PARAM> <CHARACTER_CONSTANT> <INTEGER_CONSTANT> ...

          IF ( NR .EQ. PHASE_CARBIDE)     Data_Density_Jablonka   = (rhoK0  +  rhoK1*TEMP +  rhoK2*TEMP*TEMP) *

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

/tmp/2198878.1.abax18/U_Data_Calculate.f(143): error #5082: Syntax error, found '(' when expecting one of: BLOCK BLOCKDATA PROGRAM MODULE TYPE BYTE CHARACTER CLASS DOUBLE DOUBLECOMPLEX ...

    1      (1.0 - rhoKC*cC - rhoKCr*cCr - rhoKMn*cMn)

 

Furthermore a colleaguewho works with Damask gave me an environment that might help

compile_fortran = (fortCmd + " -c -fPIC -auto " +

                   "-I%I -free -O1 -fpp -openmp " +

                   "-ftz -diag-disable 5268 " +

                   "-implicitnone -assume byterecl " +

                   "-real-size 64 -integer-size 32 -DFLOAT=8 -DINT=4")

 

…  but I can’t transfer it because he uses another Fortran style… excerpt of his routine:

!*** input/output variables

type(p_vec), dimension(1,mesh_maxNips,mesh_NcpElems), intent(inout) :: &

                               state                           !

microstructural state

 

!*** local variables
integer(pInt)            ipc, &
                               el, &
                               ip, &
                               e, &
                               i, &
                               ns, &                          
! short notation for total number of active slip systems
                               f, &  
! index of lattice family

 

Up to the present or a few weeks ago – I work on it since 3 weeks - I never mind about details in the environment and the compiling process.  Thus or nevertheless I’m no specialist in this kind of stuff. 
Since I work on it for a certain time, but without having achieving the switch, I hope someone might help me.
 

Kind regards

Sandra

 

 

 

 

 

 

 

 


Viewing all articles
Browse latest Browse all 2746

Latest Images

Trending Articles



Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>