Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.

Static structure sizes

van_der_merwe__ben
New Contributor II
735 Views

Suppose you have a DLL compiled with Intel Fortran. Upon load it consumes a large amount of memory. You want to determine what all the statics / common blocks / whatever are that are consuming the memory upon load.

Tools like AQTime can do an allocation profiling, but that only assesses dynamic memory allocation.

On Linux there are some tools such as this one: http://linux.die.net/man/1/nm

Is there perhaps some sort of tool like this for Windows Intel Fortran? Something that looks at a DLL or OBJ file and tells you what all the statics are and the size of them? You can probably see it in the MAP file, though that can be a little cryptic.

There likely is some sort of tool, I just do not know of it...

Thanks.

0 Kudos
4 Replies
Steven_L_Intel1
Employee
735 Views

The linker map won't be terribly helpful here as the variables are collected into image sections, though the map will tell you the contribution to image section for each object file. But this is a good place to start. You can ask for a source listing that will give some information on size of variables declared in each program unit.

0 Kudos
van_der_merwe__ben
New Contributor II
735 Views

Yes, you can look in the code, but what if the code is thousands of files, the people who manage it have no idea, and you want to get an overview of where all the sizes are?

Go over to a linux box and compile it on there and use the linux tools mentioned?

There has to be some windows tool for this... this has to something a lot of people wonder about at times?

0 Kudos
Steven_L_Intel1
Employee
735 Views

If you want the equivalent of nm on Windows, it is "dumpbin -symbols". I don't think it will be any more helpful than nm is, though, as local arrays don't have individual global symbols associated with them, and the compiler groups static variables into collective contributions.

0 Kudos
jimdempseyatthecove
Honored Contributor III
735 Views

The DLL for all intents and purposes will look like an executable. See http://msdn.microsoft.com/en-us/magazine/cc301805.aspx

Jim Dempsey

 

0 Kudos
Reply