Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
Intel Customer Support will be observing the Martin Luther King holiday on Monday, Jan. 17, and will return on Tues. Jan. 18.
For the latest information on Intel’s response to the Log4j/Log4Shell vulnerability, please see Intel-SA-00646

Problems with heap-arrays syntax

CConde
Beginner
320 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
309 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
310 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

CConde
Beginner
286 Views
mecej4
Black Belt
303 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
296 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
262 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