From: kiwanuka on
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
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
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
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
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
 |  Next  |  Last
Pages: 1 2
Prev: array in read statement
Next: Maths constants