- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
In Mac OS 10.6, I have a program that compiles and runs fine without the -openmp flag. As soon as I introduce that flag, I can compile fine, but get an immediate crash on the first line of the code with the error "illegal instruction". It doesnt matter whether or not I have any openmp directives in the code, I get the same result.
I've also run a couple of simple examples from the Openmp book and these compile and run fine. Any ideas?
I've also run a couple of simple examples from the Openmp book and these compile and run fine. Any ideas?
Link Copied
- « Previous
-
- 1
- 2
- Next »
24 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for the ideas Jim. I dont have any C++ and there is no "main" in the C. I've tried introducing "main" into
the fortran calling program but with no change in run behavior. I've also attempted all the fixes suggested by Mr. Green in his 06/12/09 post (-traceback; -check [with numerous options]; and others)(article titled Determining root cause of segmentation faults...). All with the same result. In gdb, I get this error
message: "EXC_BAD_ACCESS; could not access memory. Reason - KERN_INVALID_ADDRESS at ....". The debugger points to the first line of the code.
I do link an external library that could have "main" issues, and I could probably rewrite that code and compile it myself if push comes to shove.
The bottom line is: it runs fine with just the ifort -parallel flag (or no parallelization). How much improvement over the -parallel flag could I expect using OpenMP if I'm an okay programmer, but certainly nothing special?
the fortran calling program but with no change in run behavior. I've also attempted all the fixes suggested by Mr. Green in his 06/12/09 post (-traceback; -check [with numerous options]; and others)(article titled Determining root cause of segmentation faults...). All with the same result. In gdb, I get this error
message: "EXC_BAD_ACCESS; could not access memory. Reason - KERN_INVALID_ADDRESS at ....". The debugger points to the first line of the code.
I do link an external library that could have "main" issues, and I could probably rewrite that code and compile it myself if push comes to shove.
The bottom line is: it runs fine with just the ifort -parallel flag (or no parallelization). How much improvement over the -parallel flag could I expect using OpenMP if I'm an okay programmer, but certainly nothing special?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Evidently, if your application isn't worth the investment of the effort on your part to get it running correctly, no one in their right mind would bet on the performance questions you posed.
If you call a library of unknown quality in a parallel region, that's certainly a possible source of problems.
Generally speaking, in the rare case where all your important code is parallelized by -parallel, that could give similar performance to openmp. As you've already seen, OpenMP may be more sensitive to correctness issues.
If you call a library of unknown quality in a parallel region, that's certainly a possible source of problems.
Generally speaking, in the rare case where all your important code is parallelized by -parallel, that could give similar performance to openmp. As you've already seen, OpenMP may be more sensitive to correctness issues.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
which compiler version do you use and what is Mac OS version, is it 10.6.8 or less, 32 bit or 64 bit hardware?
thanks.
--Vladimir
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Vladimir, I'm running Mac OS 10.6.8, I've got 64bit architecture, and am using Ifort XE 12.1. With no openmp directives included, but -openmp set in the compilation, the code crashes immediately on running, at the first line (confirmed with write statements). I get no files or info from -traceback or -check all, no errors or warnings on compilation. When it crashes it says "core dumped" but no file gets written. The lack of a core file is not due to corefile size limitations, that is set to unlimited. I'm looking into that issue today. Oh, and the problem isnt linking to the external library I mentioned in my last post. I've removed calls to that library and didnt link to it, and got the same problem.
thanks for any ideas!
-Lee
thanks for any ideas!
-Lee

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
- « Previous
-
- 1
- 2
- Next »