Intel® Fortran Composer XE

Parameterized derived type and array-valued function returning component data: strange compiler behavior

Another strange one with parameterized derived types: the following simple code results in a compiler error,  incorrectly in my opinion.  But simply uncommenting the unrelated lines 17-26 makes the code compile ok:

Parameterized derived type and array-valued function returning component data: strange run-time behavior

Another strange one with parameterized derived types: the following code compiles with no errors or warnings, but I can't understand the run-time behavior.  With Release configuration, the array-valued function only returns the elements per the default length.  However with Debug configuration, it appears the run-time hangs up (is the function is trying to return an array of infinite (or very large) size?).  I think the code is ok.

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 14.0.0.103 [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 'nodecl.inc'

      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

    contains

    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
Subscribe to Intel® Fortran Composer XE