Prev: array in read statement
Next: Maths constants
From: kiwanuka on 16 Jan 2010 10:01 Dear all, I wonder if anyone has come across this problem before or has any idea how to go about solving it. Problem: When I run abaqus with fortran 90 subroutines in which I use typical fortran 90 functions like mutmul, then if (1) I use the ifort compiler, no problem, job runs well. (2) if I use the gfortran compiler, I get "Abaqus Error: The executable [snip]/standard.exe aborted with system error "Illegal memory reference" (signal 11)." Other info: - On the same computer where I have gfortran installed, jobs run fine if I use Abaqus +gfortran+fortran 77 standard code, i.e. no special functions or statements applicable to the fortran 90 standard but not fortran 77. -The version of abaqus on the computer with gfortran is 6.8.4 and the gfortran version is "gcc version 4.4.1 (Ubuntu 4.4.1-4ubuntu8)" -The version of abaqus on the computer with ifort is 6.6.3 and the ifort version is "Version 9.1" -When I build stand-alone programs in complete fortran 90 standard, with whatever fortran 90 statements, they work perfectly with gfortran on the same computer (which is running on Ubuntu 9.10)! IT IS ONLY WHEN I WRITE ABAQUS SUBROUTINES IN FORTRAN 90 THAT I HAVE PROBLEMS! - sorry not shouting but emphasising. Any ideas around this would be welcome. Thanks in advance, Robert
From: Tim Prince on 16 Jan 2010 10:20 kiwanuka wrote: > When I run abaqus with fortran 90 subroutines in which I use typical > fortran 90 functions like mutmul, then if > (1) I use the ifort compiler, no problem, job runs well. > (2) if I use the gfortran compiler, I get "Abaqus Error: The > executable [snip]/standard.exe aborted with system error "Illegal > memory reference" (signal 11)." It's not practical to add user functions to a commercial fee licensed application, except by following the vendor instructions. The run-time libraries of ifort and gfortran aren't compatible. There is an exception in the Intel MKL BLAS function library, which includes support for both ifort and gfortran, as well as companion C compilers. It still would not be advisable to mix ifort and gfortran, although it is possible to use a mixture of icc and gcc as the companion C compilers for either Fortran.
From: kiwanuka on 16 Jan 2010 10:23 On Jan 16, 3:01 pm, kiwanuka <robert.kiwan...(a)gmail.com> wrote: > Dear all, > > I wonder if anyone has come across this problem before or has any idea > how to go about solving it. > > Problem: > When I run abaqus with fortran 90 subroutines in which I use typical > fortran 90 functions like mutmul, then if > (1) I use the ifort compiler, no problem, job runs well. > (2) if I use the gfortran compiler, I get "Abaqus Error: The > executable [snip]/standard.exe aborted with system error "Illegal > memory reference" (signal 11)." > > Other info: > - On the same computer where I have gfortran installed, jobs run fine > if I use Abaqus +gfortran+fortran 77 standard code, i.e. no special > functions or statements applicable to the fortran 90 standard but not > fortran 77. > > -The version of abaqus on the computer with gfortran is 6.8.4 and the > gfortran version is "gcc version 4.4.1 (Ubuntu 4.4.1-4ubuntu8)" > > -The version of abaqus on the computer with ifort is 6.6.3 and the > ifort version is "Version 9.1" > > -When I build stand-alone programs in complete fortran 90 standard, > with whatever fortran 90 statements, they work perfectly with gfortran > on the same computer (which is running on Ubuntu 9.10)! IT IS ONLY > WHEN I WRITE ABAQUS SUBROUTINES IN FORTRAN 90 THAT I HAVE PROBLEMS! - > sorry not shouting but emphasising. > > Any ideas around this would be welcome. > > Thanks in advance, > > Robert Perhaps I should add this to make it a little more clear: gfortran + f90 stand-alone program is fine ifort + f90 stand-alone program is fine Abaqus +gfortran + f77 standard subroutines is fine Abaqus +ifort + f77 standard subroutines is fine Abaqus + ifort +f90 standard subroutines is fine Abaqus +gfortran + f90 gives illegal memory reference <=== So far the problems have been noted with usage of mutmul, allocate and pointers; the first separately, the other two in combination. Thanks, Robert
From: Gordon Sande on 16 Jan 2010 10:31 On 2010-01-16 11:01:43 -0400, kiwanuka <robert.kiwanuka(a)gmail.com> said: > Dear all, > > I wonder if anyone has come across this problem before or has any idea > how to go about solving it. > > Problem: > When I run abaqus with fortran 90 subroutines in which I use typical > fortran 90 functions like mutmul, then if > (1) I use the ifort compiler, no problem, job runs well. > (2) if I use the gfortran compiler, I get "Abaqus Error: The > executable [snip]/standard.exe aborted with system error "Illegal > memory reference" (signal 11)." > > Other info: > - On the same computer where I have gfortran installed, jobs run fine > if I use Abaqus +gfortran+fortran 77 standard code, i.e. no special > functions or statements applicable to the fortran 90 standard but not > fortran 77. > > -The version of abaqus on the computer with gfortran is 6.8.4 and the > gfortran version is "gcc version 4.4.1 (Ubuntu 4.4.1-4ubuntu8)" > > -The version of abaqus on the computer with ifort is 6.6.3 and the > ifort version is "Version 9.1" > > -When I build stand-alone programs in complete fortran 90 standard, > with whatever fortran 90 statements, they work perfectly with gfortran > on the same computer (which is running on Ubuntu 9.10)! IT IS ONLY > WHEN I WRITE ABAQUS SUBROUTINES IN FORTRAN 90 THAT I HAVE PROBLEMS! - > sorry not shouting but emphasising. > > Any ideas around this would be welcome. > > Thanks in advance, > > Robert Under a minute with Google etc leads to Abaqus system requirement of IFORT. There is no mention of any other compiler. Fortran runtime support is rarely if ever compatable between different compilers. Most suppliers of subroutine packages sell separate versions for each compiler they support. A few will give you a discount for a second compiler but many will not. In short, there is no rational reason to expect support for any compiler other than the listed IFORT. Maybe there is some other listing that shows some other compiler. Or maybe you are such an important customer (i.e. many many license and corresponding fees!) that they will make a special version for you which they might sell to others as well. If either of those were true you would not be asking. ;-) So, stick with IFORT!
From: kiwanuka on 16 Jan 2010 10:35
On Jan 16, 3:20 pm, Tim Prince <TimothyPri...(a)sbcglobal.net> wrote: > kiwanuka wrote: > > When I run abaqus with fortran 90 subroutines in which I use typical > > fortran 90 functions like mutmul, then if > > (1) I use the ifort compiler, no problem, job runs well. > > (2) if I use the gfortran compiler, I get "Abaqus Error: The > > executable [snip]/standard.exe aborted with system error "Illegal > > memory reference" (signal 11)." > > It's not practical to add user functions to a commercial fee licensed > application, except by following the vendor instructions. The run-time > libraries of ifort and gfortran aren't compatible. > There is an exception in the Intel MKL BLAS function library, which > includes support for both ifort and gfortran, as well as companion C > compilers. It still would not be advisable to mix ifort and gfortran, > although it is possible to use a mixture of icc and gcc as the companion > C compilers for either Fortran. Thanks Tim, the two compilers are being used on separate computers so no mixing is happening. gfortran is used on Ubuntu 9.10 while ifort is used on Red Hat Enterprise Linux AS release 4 (Nahant Update 8). The fortran subroutines are ABAQUS user subroutines which are being used in the standard way for ABAQUS but are not in any way a modification to ifort or gfrotran libraries. The different compilers are called according to the setting in ABAQUS's environment file. Regards, Robert |