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

Problems with heap-arrays syntax

CConde
Beginner
529 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
Black Belt Retired Employee
518 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

5 Replies
Steve_Lionel
Black Belt Retired Employee
519 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.

CConde
Beginner
495 Views
mecej4
Black Belt
512 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 .

Steve_Lionel
Black Belt Retired Employee
505 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.

jimdempseyatthecove
Black Belt
471 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

Reply