Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

Memory leaking using DIRECT access

JSmith
Beginner
535 Views

We are using Fortran Composer Version 2020 update 4 and are experiencing a lot of memory leakage related to the number of files we open using direct access.

The following code will demonstrate the problem, which only appears to happen in the release build when the UNIT number is 100 or more.

INTEGER*4 IUNIT, ILOOP

IUNIT = 100

DO ILOOP = 0, 20000
OPEN (UNIT = IUNIT, FILE = "C:\TestFiles\Empty.dat", ACCESS='DIRECT', RECL = 4)
CLOSE (IUNIT)
ENDDO

A UNIT number of 99 or less doesn't cause the memory leakage.

Is there a way to overcome this problem?

0 Kudos
1 Solution
Barbara_P_Intel
Moderator
275 Views

With the release of the new Fortran compiler 2021.3.0 earlier this month, this memory leak is fixed!  I rebuilt and looked at it with Inspector.  

@JSmith, can you please confirm?

 

View solution in original post

5 Replies
Steve_Lionel
Black Belt Retired Employee
492 Views

I can reproduce this using the 2021.1.2 compiler and Intel Inspector's memory leak analysis. The leak is about 440 bytes per iteration, happening during the OPEN call. But what I find most fascinating is that the leak occurs only when linking to the DLL form of the support libraries - if one links to the static libraries, no leak!

JSmith
Beginner
465 Views

I have upgraded to the 2021.1.1 compiler now even with that and using the static libraries I am seeing a 440 bytes leakage (this has gone up from 432 bytes previously).

MemoryLeakage.JPG

This isn't reported by the Inspector as with the DLL version.

Steve_Lionel
Black Belt Retired Employee
445 Views

Interesting to know that Inspector doesn't see the leak with the static libraries. Let's hope an Intel support person picks this up.

Barbara_P_Intel
Moderator
401 Views

I filed a bug report on the memory leak, CMPLRLIBS-33305.  I'll let you know when it's fixed.

 

Barbara_P_Intel
Moderator
276 Views

With the release of the new Fortran compiler 2021.3.0 earlier this month, this memory leak is fixed!  I rebuilt and looked at it with Inspector.  

@JSmith, can you please confirm?

 

Reply