- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I got the strange thing, my model compiled by intel and pgi fortran compiler got different results, but the result from pgi compiled is right, the intel result is too small. Can I get intel expert's help? Thanks a lot.
I use the following compiler option:
PGI:-Bstatic -O2 -Mpreprocess -byteswapio -Mextend
IFORT:-O2 -fp-model precise -fpp -132 -mcmodel=large -shared-intel -convert big-endisn
Link Copied
4 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I checked the codes, found the first element of a array isnegativein intel version after my model running several time steps, however, it is positive in pgi version. It seem intel version set the wrong first bound of that array. does any intel compile option can correct it?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
If you have subscript range errors or uninitialized data, it's only a matter of luck whether you get a correct result.
If you couldn't run PGI with vectorization enabled, you should look into why not. If you want to run ifort with similar option, you might try ifort -O1 -fp-model precise, and also set pgf90 -Kieee for an equivalent level of consistency.
ifort -check -traceback will set run-time checks which might help you find a correctness problem.
If you couldn't run PGI with vectorization enabled, you should look into why not. If you want to run ifort with similar option, you might try ifort -O1 -fp-model precise, and also set pgf90 -Kieee for an equivalent level of consistency.
ifort -check -traceback will set run-time checks which might help you find a correctness problem.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
In such a situation, I would check the following:
1) Is the program correct? That is, are the variables properly initialized, shared and saved as needed, and are conventions for calling library routines followed correctly?
2) If floating point arithmetic is used, is the algorithm well-conditioned? If not, is the loss of precision taken into account when comparing results from two different OS/compiler combinations?
3) Is the input data read correctly, in view of problems that may be caused by tab and other control characters in the input data files?
5) How sensitive are the program results to changes in compiler switches?
6) Do any of the compilers have bugs, and with what options are those bugs brought alive?
Few of these checks can be done without looking at the source code. Few experts are to be expected to examine your code for correctness without compensation.
The most frequently used compromise is for the initiator (you) to put in the effort to construct a "reproducer", which is a program that is as short as possible and yet reproduces the problems of the "real" program.
1) Is the program correct? That is, are the variables properly initialized, shared and saved as needed, and are conventions for calling library routines followed correctly?
2) If floating point arithmetic is used, is the algorithm well-conditioned? If not, is the loss of precision taken into account when comparing results from two different OS/compiler combinations?
3) Is the input data read correctly, in view of problems that may be caused by tab and other control characters in the input data files?
5) How sensitive are the program results to changes in compiler switches?
6) Do any of the compilers have bugs, and with what options are those bugs brought alive?
Few of these checks can be done without looking at the source code. Few experts are to be expected to examine your code for correctness without compensation.
The most frequently used compromise is for the initiator (you) to put in the effort to construct a "reproducer", which is a program that is as short as possible and yet reproduces the problems of the "real" program.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank Tim18 andmecej4, your experience help me a lot. I check input data and found the problem there. thx again!

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