- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

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.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

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.

Link Copied

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

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.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

@Steve_Lionel , @mecej4 , many thanks for your help.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

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** .

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

@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.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

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

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page