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

Problems with heap-arrays syntax

CConde
Principiante
2.112 Visualizações

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. 

 

 
 

Etiquetas (2)
0 Kudos
1 Solução
Steve_Lionel
Colaborador honorário III
2.101 Visualizações

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.

Ver solução na publicação original

5 Respostas
Steve_Lionel
Colaborador honorário III
2.102 Visualizações

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
Principiante
2.078 Visualizações
mecej4
Colaborador honorário III
2.095 Visualizações

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
Colaborador honorário III
2.088 Visualizações

@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
Colaborador honorário III
2.054 Visualizações

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

Responder