Opened 9 years ago
Closed 9 years ago
#99 closed Support (fixed)
Flexpart-WRF v3.1 OMP
Reported by: | acificap | Owned by: | jbrioude |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | FP other | Version: | FLEXPART-WRF |
Keywords: | Cc: | skomo |
Description
Hi!
I am trying to compile FLEXPART-WRF v3.1 on a linux x86_64 machine. I have successfully compiled it in serial mode, however I am having difficulty running the program once it is compiled with openMP. I compile as follows:
$ OMP_NUM_THREADS=2 make -f makefile.mom omp
and the compilation runs fine. However, when I run the program, it almost immediately throws a seg fault. I have a feeling this has to do with how openmp is setting the stack size on compilation. I tried adding the flag: "-fmax-stack-var-size=n" for various numbers of bit, n, and this compiles fine, (it does give plenty of warnings that this overrides -frecursive); however, then I run into issues with the variable maxomp in par_mod.f90 .
How can I get the compiler to set the appropriate stack size?
Change History (6)
comment:1 Changed 9 years ago by DefaultCC Plugin
- Cc skomo added
comment:2 follow-up: ↓ 3 Changed 9 years ago by acificap
comment:3 in reply to: ↑ 2 Changed 9 years ago by acificap
Replying to acificap:
The problem is fixed. I needed to set "ulimit -s unlimited" before compiling.
However, part of my issue still stands: whenever I run the program with LCONVECTION=3 or IFLUX=1 (or both), the program seg-faults.
I should note that this is a problem in serial mode as well.
comment:4 Changed 9 years ago by pesei
- Owner changed from somebody to jbrioude
- Status changed from new to assigned
comment:5 Changed 9 years ago by jbrioude
- Status changed from assigned to accepted
Hi,
I will put a new version of FLEXPART-WRF that should allow you to use LCONVECTION=3.
I don't have any experience with IFLUX option. Someone needs to look at it in FLEXPART-WRF
Jerome
comment:6 Changed 9 years ago by jbrioude
- Resolution set to fixed
- Status changed from accepted to closed
The problem is fixed. I needed to set "ulimit -s unlimited" before compiling.
However, part of my issue still stands: whenever I run the program with LCONVECTION=3 or IFLUX=1 (or both), the program seg-faults.