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

Problems with heap-arrays syntax

CConde
Beginner
1,201 Views

Dear Members, 

 

Please, I would like to request your help with the following problem: 

I'm working with quite large arrays and I would like to put them in the heap. When compiling, and following Intel's Developer Guide, I set (ifort Windows) 

ifort  /heap-arrays[:0]/heap-arrays-  myfile.f90

 

However, I get an error stating "ignoring option '/heap-arrays'; argument is of wrong type".

Obviously, I'm doing something wrongly. Could you please tell me what it could be? 

 

Many thanks for your help. 

 

 
 

Labels (2)
0 Kudos
1 Solution
Steve_Lionel
Honored Contributor III
1,190 Views

ifort /heap-arrays myfile.f90

 

The [:n] in the manual means that this part is optional (and useless in my experience.) /heap-arrays- is the way to turn it off if it was turned on earlier.

View solution in original post

0 Kudos
5 Replies
Steve_Lionel
Honored Contributor III
1,191 Views

ifort /heap-arrays myfile.f90

 

The [:n] in the manual means that this part is optional (and useless in my experience.) /heap-arrays- is the way to turn it off if it was turned on earlier.

0 Kudos
CConde
Beginner
1,167 Views
0 Kudos
mecej4
Honored Contributor III
1,184 Views

Do not type in the '[' and ']' as part of the command option. They are placed in the documentation to indicate that whatever is within them is optional.

If you want all local arrays to be allocated on the heap, the option is /heap-arrays .

If you want only arrays of size 1 kbyte and larger to be on the heap (and smaller arrays on the stack), the option is /heap-arrays:1 .

0 Kudos
Steve_Lionel
Honored Contributor III
1,177 Views

@mecej4 wrote:.

If you want only arrays of size 1 kbyte and larger to be on the heap (and smaller arrays on the stack), the option is /heap-arrays:1 .


Don't waste your time doing this - the cases where the compiler will honor this are few, far-between and generally useless.

0 Kudos
jimdempseyatthecove
Honored Contributor III
1,143 Views

Your command line (stated above) is incorrect. The documentation uses "[something]", in the above case "[:0]", to indicate an optional syntax.

The correct syntax would have been to use "/heap-arrays:0". IOW without the []'s.

Additionally, the text following the "/" up until the next token separator (CR, LF, SPACE, COMMA) is taken in its entirety at the option. IOW their should have been a space preceding the second / on the command line (and would then have resulted in a turn on and then turn off heap arrays).

Jim Dempsey

0 Kudos
Reply