- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am currently running the Linux Intel Fortran Compiler with an AMD64 X2 4600+. After I have compiled programs and execute them they only use 50% (one core only) of the CPU. I am running Ubuntu with the K8 smp kernal so the OS detects both cores, but top only says either 50% of CPU resources or 100% of CPU1 and 3% of CPU2. I am quite found of the Intel Compiler and need to for USGS Fortran Models (not designed with openmp or multithreading), such as MODFLOW/SUTRA/HST3D (Mostly use HST3D with MINOS, an optimization program).
If you could tell me what to do to make full use of my cpu that would be great. Plus what optimizations that would work on a USGS models written in either FORTRAN 77 or 90.
Tc2172
If you could tell me what to do to make full use of my cpu that would be great. Plus what optimizations that would work on a USGS models written in either FORTRAN 77 or 90.
Tc2172
Link Copied
3 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Unless you have added threading to your program, it will be single-threaded and use one core only. You can try -parallel and see what it gets you - enabling the optimization reports will tell you what the compiler was and wasn't able to do. For much more information, read the "Optimizing Applications" manual provided with the compiler.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you that is what I suspected. Will the -parallel effect the results in anyway? Numerical accuracy is a major concern along with speed. Since I am using court defensible programs, it is frowned upon for altering the source code significantly. Either to make it more openmp friendly or if -parallel alters the results in anyway.
I do have a model that states it is not thread safe. Does that mean that it will yield erroneous results with commands such as -openmp or -parallel ?
Thanks again,
Tc
I do have a model that states it is not thread safe. Does that mean that it will yield erroneous results with commands such as -openmp or -parallel ?
Thanks again,
Tc
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It depends on how sensitive your program is to order of evaluation, though normal optimizations can also change that. I think you'll just have to try it and see. I assume that you have tests with known results to compare against.
With -openmp, you have to understand your program and know what is thread-safe and what is not. -parallel is much more conservative and is unlikely to give you problems there, but will also give less speedup.
With -openmp, you have to understand your program and know what is thread-safe and what is not. -parallel is much more conservative and is unlikely to give you problems there, but will also give less speedup.

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