Intel® Fortran Compiler for Linux* and Mac OS X*

Customizing Makefile for the programm using Fortran Compiler.


I'm trying to define the makefile for compiling the programm in Linux that uses Fortran Compiler. In the programm manual it is written that it requires FORTRAN90 compiler and MPI. I've installed Intel Parallel Sdudio 2015 and openMPI. The target template in the makefile looks like this:

How to enforce inlining ?


My code involves a derived-type variable (denoted 'Object' hereafter) holding another derived-type variable as a component (denoted 'SubObject').

The SubObject has a type-bound procedure for computing some quantity, let say Q.

The Object also has a procedure for computing Q, but the actual computation is delegated to the SubObject component.

Here is simple example:

"Stack trace terminated abnormally": what does this mean?


running a code compiled with -check all I see various warnings concerning the creation of some temporaries (I know about them and I am fine with them) and somehow interspersed in the ouput various lines saying

Stack trace terminated abnormally.

What does this mean? Notice that I do see a traceback for the warnings, but this line has no traceback.

I am using "Intel(R) Fortran Intel(R) 64 Compiler XE for applications running on Intel(R) 64, Version 15.0 Build 20141023"

Thank you, Marco

Non-scalar pass-object dummy arguments


I am trying to use type-bound procedures (TBP) with non-scalar pass-object dummy arguments. Although not valid from the standard (C461: "The passed-object dummy argument shall be a scalar, nonpointer, nonallocatable dummy data object..."), it seems to be supported by ifort version 14.0.4 (the version I'm using here) as shown by the following code:

Is fstack-protector-all supported on MIC?

I'm debugging a crash in my Fortran code, and would like to try stack protection.

Is fstack-protector-all supported on the MIC platform?  When I build with -mic -fstack-protector-all the executable crashes because it can't find the library.  Is a MIC version of that library supposed to be included with my compiler?  I'm using ifort 14.0.2.  

Thank you for your help.

Difference in allocating array in subroutine make a code works or breaks


I am running a mpi CFD code in my sch's cluster using 100 cpu.

Due to my program's structure, this is the max cpu I can use. At the same time, due to the number of grids using in my code, I am reaching the available memory limit.

The code ran and hang at a spot. After debugging, I found that it hangs in one of the subroutines. In this subroutines, I have to update the values of different variables across all cpu using mpi.

There are some local array which I need to create. If I declare them using:

subroutine mpi_var_...

VAX parallel directives

I found a few places in my legacy code where the obsolete VAX "parallel directive" feature exists, e.g.:


Inasmuch as this is in a FORTRAN 77 fixed-format file, can I assume that this is simply ignored by Intel Fortran as if it is a comment?


OOP fortran: can not make a subroutine execute different objects

I need some help please.
In this code I create two objects (MM and FF) that extend an abstract
object (MF). Then I have a subroutine (execute_MM_or_FF) that is
supposed to handle both objects (MM and FF).
I tried several ways of doing it but none worked; this is an example
for which I get the error message
error #8169: The specified interface is not declared.   [OUTPUT]
What is the problem with this code? thanks

module Abstract_class_m

    implicit none

Subscribe to Intel® Fortran Compiler for Linux* and Mac OS X*