Intel® Fortran Studio XE

compiler-generated interfaces question

We have built all our own interface for all of our routines and would like ifort to check them for us. That is, tell us if there is a missing or incorrect interface. However, the only info/behavior I can find is to let the compiler generate interfaces or not. When we let it we get genmod interfaces for all routines whether we have one or not. Our interface mod file is built and used but I want the compiler to only generate an interface when ours in incorrect or missing. Is there a combination of compiler options that will get us that behavior?

Free webinar April 7 2015 9am PST "Further Vectorization Features of the Intel Compiler"

There is a free webinar “Further Vectorization Features of the Intel Compiler” coming next Tuesday talking specifically about getting more vectorizations from Intel Compilers. But you would benefit it more if you've watched/listened to the previous webinar Performance essentials using OpenMP* 4.0 vectorization with C/C++.
Please register at Intel® Software Tools Technical Webinar Series 

Installing Fortran compiler

I am trying to install the Fortran compiler (and associated libraries and linkers) on my MacBook Pro laptop -- a brand new (Yosemite) system.  I downloaded the "Academic Research Performance Libraries from Intel (OS X*)” to my Mac — a 1.1 Gbyte file named: m_ipp_8.2.1.108.mpkg. I then clicked on this file and went through the install procedure.  What do I do next? I found the webpage:

OpenMP calls with newer multi core/thread CPUs

My new workstation runs RH Release 6.6 with Linux kernel 2.6.32-504.el6.x86_64, with a Xeon CPU & 64 GB RAM, etc.  Nothing else is different, however, now my Fortran routines with openMP calls to the BLAS lib (from Intel Libs) aren't maximizing core/thread usage (it looks like core/thread-swapping has gone "nutz") unless I set the number of threads to 1 in my execution script.  Have you seen this behavior with upgrades to the multicore/multithread CPUs?

Overriding type-bound procedures

Hi there,

I am trying to make best use of Fortran's OOP features and I have a question regarding the overriding of type-bound procedures.

Is there a way in which I can define a type-bound procedure that can be overridden in child objects (objects which extend the base class) and have different dummy arguments?

At the moment I can override type-bound procedures but I have to have exactly the same number and type of dummy arguments. I had been thinking about generic procedures, but I couldn't figure out to tackle the problem.



ifort real*4 count bug

Recently, I wrote a piece of codes, like that below. The value of num is larger than the range of integer 32.
The result of the tmp should be 2. But in that code, the program gave 0. No matter if use ifort 13.0.0 or 15.0.0. If I change the tmp from real*4 to real*8, the result is correct. Ang idea?

integer*8,parameter :: num = 2500000000
integer*8 :: i
real*4,dimension(:),allocatable :: a
real*4 :: tmp

a = 0.0e0

do i = 1, num
   if(i.eq.1) then
      a(1) = 1.0e0
   else if(mod(i, 2).eq.0) then
      a(i) = 1.0e0
      a(i) = -1.0e0

What hath "TS 29113/TS 18508" wrought!?

The following simple code compiles fine with the latest Intel Fortran compiler 2015, update 2 but it gives an error with gfortran, a GCC 5.0 development trunk version.

The error, as shown below, has to do with "TS 29113/TS 18508", presumably related to further interoperability features with C in the next standard.   Now I am not sure if Intel has started implementing any of these features yet, so Intel Fortran compiler behavior may not be relevant yet.

Doctor Fortran in "The Future of Fortran"

In November 2014, I led a session at SC14 (the event formerly known as “Supercomputing”) titled “The Future of Fortran”. I invited representatives from other vendors and members of the Fortran standards committee to participate, and had some accept, but when it came time for the session, I was up there alone. Oh well…

Assine o Intel® Fortran Studio XE