- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi All,
I get
Illegal instruction
when I try to run a F90 code compiled with 11.1/089 ifort and linked to FFTW built
using the same compilers (although when the machine was booted in 32-bit mode).
I compile my code using
ifort -O3 -ipo -xHost -m64 -heap-arrays -openmp -assume byterecl -convert big_endian F4C_NS_FT_DE_TRIDIAG_OPENMP.f90 -L/usr/local/lib -lfftw3 -lfftw3_threads -liomp5 -lpthread
To run, I first
ulimit -s hard
export OMP_NUM_THREADS=1
(actually, the number of threads does not matter, 1 or more and I get the error).
This begins to happen once my arrays are large enough. I thought that the
-heap-arrays
took care of this issue, but alas. The machine (Mac pro) is currently booted into
64-bit mode.
Any ideas of how I get it to run a larger data size code?
Thanks, Hans
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Seems this is a stacksize issue that ulimit -s hard does not take care of. See the article
which show how to increase stacksize in the compile line, i.e., include
-Wl,-stack_size,0x10000000
I'll have to figure out the size in hex ...
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page