Intel® Fortran Compiler

Multi core processors

I am running Windows 7 x64 on a server with a Haswell E5-1630v3 4 core processor. I am writing in Fortran 95 and using a recently purchased Intel x64 compiler. I have some questions:

1.  Should hyperthreading be on or off for best execution performance with a processing applications.

2.  Is there a compiler option to use all 4 cores when executing the application.

3.  I assume that the /QxHost compiler option will generate AVX-2 code.


Dynamically loading a DLL twice

I have in my Fortran code:

        dll_handle = LoadLibrary('Test123.dll'//char(0))

However this Fortran code may also be called from a C++ wrapper which may have already dynamically loaded this DLL.  From a quick test the Fortran call does not simply return the handle that the C++ wrapper got when it loaded it, but returns a different handle.  Has the DLL been loaded twice?  If so is this a problem?

Parameterized derived type with type-bound procedure: unexpected run-time error [forrtl: severe (408): fort: (10)..]

The following simple code compiles with no errors or warnings, but generates a run-time error [forrtl: severe (408): fort: (10)..].  I think the code is alright, please correct me otherwise.

.dll error


  Hi.  I am using Intel Cluster Studio for Fortran programming.   (Intel Visual Fortran Composer XE 2013 SP1)

  My code is using mpi library and tecplot library as follows:


  program dust_liquid

         !DEC$ OBJCOMMENT LIB:"impid.lib"
         !DEC$ OBJCOMMENT LIB:"tecio.lib"



 Setting in Tools/Options/Intel Composer XE/Visual Fortran/Compilers  is as follows:  (It is Win32 setting. I am using 32bit Compiling option).



Problem with pointer under Fortran Compiler XE [Intel(R) 64]

This example has been working for years with all previous 64-bit Intel compiler versions.  Unfortunately with version 14 it fails.

      subroutine bug_intel

      include ''

      integer*8 :: k,handle_s1

      type jaja

        integer*4 :: a

        integer*4 :: b

        integer*4 :: c

      end type jaja

      type (jaja),pointer :: s1

      type (jaja),pointer :: s2

      type (jaja),target  :: ss

      integer*4 :: check

pointer dummy argument

Hi to everyone. I've found a problem illustrates as follows:
module mod

    type :: test
        integer :: i
    end type test


    subroutine equals(left, right)

        type(test) :: left
        type(test) :: right

        write(*,*) loc(p), loc(q)

    end subroutine equals
end module mod

program main
    use mod

    type(test), target  :: tar
    type(test), pointer :: p=>null(), q=>null()

    allocate(p, q)
    write(*,*) loc(p), loc(q) ! First
    p => tar
    q => tar

Stepwise calculation for large datasets in Fortran


I am trying to do stepwise calculations, for each day, by using an equation in a Fortran program, using the datasets, as in the attached (each dataset has 18262 values corresponding to 18262 days). The output of the program would be another new dataset in which the two datasets are combined per the equation (as an example 0.5*TC1+ 7*TC2), for each day.

订阅 Intel® Fortran Compiler