Intel® Fortran Studio XE

performance degradation with ifort 15.0.2


Previously I built my program with ifort 14.0.1 + impi 4.1. Recently, after switching to ifort 15.0.2 + impi 5.0, my program runs ~30% slower on one SandyBridge core. I keep the compiler options the same: -O2 -xHost -openmp. Anyone observed similar things? Any suggestions? 


Best regards,


Performance of derived type function call


In the following simple code, where the operator .lt. is used a lot of times, i found that ifort is slower than gfortran by a factor of 2. First i thought it was the handling of the class(*) but in this version there is no class(*) , then i suspected a slow select type, but it just appears that accessing the component from the original class is the problem. what are your thoughts on this ?  

finalization of function return type memory leak ?


I have a memory leak with the return variable of a constructor. If the allocation is made out of the constructor then the component is automatically deallocated after. The following code show the behavior. If the class(*) is replace by an integer there is no memory leak. Of course if i write a final subroutine that deallocate it solves the issue, but then what is the exact rule for automatic finalization for derived type and extended derived type.



generic operator with class(*) behavior question


I am wondering how does the generic operator works in case of an abstract class with a class(*) argument. The following code show an example, and the operator on the abstract class do not call the defined operator of intb even though the dynamic type is intb.  Any thought on such design ? A solution will be to override lower_than in intb like that rocedure,private :: lower_than => lowerthan_intb with a class(*) and then do a select type. But i thought that if the dynamic type was intb then the generic function will find lowerthan_intb.



Compilation error while using iso_c_binding in Mix-language code.

I am trying to use the c_ptr and c_loc of the iso_c_binding module, but a compilation errer is reported: "undefined reference to `iso_c_binding_mp_c_loc_'"

The compile commands I ues are:
ifort -c sub.f90
icc -c main.c
icc main.o sub.o 
And here follows my code.
 module try_ptr
    subroutine test() bind(c)
    use iso_c_binding,only : c_loc,c_ptr,c_int
    implicit none
    type(c_ptr) :: mptr
    integer(c_int) :: mj(10)
    end subroutine test
end module try_ptr

X-code integration


I have installed intel fortran composer 2015 update 3 on my mac which is 10.10.3 and it installed successfully . Then I checked it by ifort myfile.f90 in terminal and it was ok ,  Then i wanted to use ifort in Xcode and there was no option to choose intel fortran ! what else should i do to integrate ifort into xcode ? my Xcode version is 6.3.1 .



Subscribe to Intel® Fortran Studio XE