- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I made a program in fortran running under a 32 bit architecture.
Now, I passed on a 64 bit (I changed PC) and I downloaded intel fortran compiler. I tried to use the same program (force 3.0 64 bit) but it doesn't give me the results as the 32 bit ones. So, I downloaded intel fortran compiler because the sofware force is a beta release. I try to install but it gives me this advice:.
I have to deliver a project, hot to solve this problem?
Why I can't install intel fortran compiler? ( I download this version "w_cprof_p_11.1.046_ia64" average 370 MB)
I attach the program, the problem is in the subroutine combustore, I think the parameter alfa is the problem in that do while cycle.
Thank you
Link Copied
6 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I solved in a strange way.
I make the executable in my laptop 32 bit and then I took it on the 64 bit. So, the compiler has made its work on a 32 bit instead the executable ca run on a 64 bit.
I make the executable in my laptop 32 bit and then I took it on the 64 bit. So, the compiler has made its work on a 32 bit instead the executable ca run on a 64 bit.
p.s. I can't make changes sigh
Thanks to all
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
In your 64-bit installation failure, it appears you have skipped one of the necessary components of Visual Studio:
1. C++ compiler
2. X64 add-on component of C++ compiler
3. service pack
You could have made your source code much more readable by indentation and use of SUM and DOT_PRODUCT intrinsics. As you are mixing single and (the non-standard form of) double precision, it may not be surprising if the convergence of your do while changes according to whether you select compile options which promote single precision expressions to double. Perhaps you have made it difficult for yourself to follow your own code.
The ability of the 64-bit OS to run 32-bit executables was not considered "strange" by its designers; it was a big selling point. In a case such as yours, it would postpone the need to deal with non-portability in applications.
1. C++ compiler
2. X64 add-on component of C++ compiler
3. service pack
You could have made your source code much more readable by indentation and use of SUM and DOT_PRODUCT intrinsics. As you are mixing single and (the non-standard form of) double precision, it may not be surprising if the convergence of your do while changes according to whether you select compile options which promote single precision expressions to double. Perhaps you have made it difficult for yourself to follow your own code.
The ability of the 64-bit OS to run 32-bit executables was not considered "strange" by its designers; it was a big selling point. In a case such as yours, it would postpone the need to deal with non-portability in applications.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
On the first step, would you mind explaining me how to? I have to install a C++ compiler or X64 or service pack or all together? How install them?
If I insert indentation it is more readable but how many rows it takes?
What is the use of sum and product?
What is the use of sum and product?
I don't understand the point about convergence of the do while. I have to use only double precision?
What is the non-portability in applications?
As you can see you will have to gain white belt....
Thank you
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Do you have a licemse for Intel Visual Fortran or are you downloading the evaluation version? If you have a license, and do not have Microsoft Visual C++ already installed, please download the "full" installer with a filename of w_cprof_p_11.1.046.exe. When you run this it will install the necessary Visual Studio components. If you are using an evaluation license, you must obtain Visual Studio separately. You can get a 90-day free trial from Microsoft. When you install Visual Studio, you must choose a Custom install and select the "x64 Compiler and Tools" component of Visual C++. This is explained in the Fortran release notes.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Steve Lionel (Intel)
Do you have a licemse for Intel Visual Fortran or are you downloading the evaluation version? If you have a license, and do not have Microsoft Visual C++ already installed, please download the "full" installer with a filename of w_cprof_p_11.1.046.exe. When you run this it will install the necessary Visual Studio components. If you are using an evaluation license, you must obtain Visual Studio separately. You can get a 90-day free trial from Microsoft. When you install Visual Studio, you must choose a Custom install and select the "x64 Compiler and Tools" component of Visual C++. This is explained in the Fortran release notes.
Thank you.
And for the double precisione in the do while.......
Thank you.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I think Tim wanted you to replace:
do while (abs(diff).gt.0.00000001)
with:
do while (abs(diff).gt.0.00000001D0)
and make similar changes elsewhere where you have similar expressions. The problem is that without the D0 (or _8), the value is single precision and may not convert to double in a way you expect. In general, you should avoid "mixed-mode" expressions where the operands have different types or kinds (precision level).
do while (abs(diff).gt.0.00000001)
with:
do while (abs(diff).gt.0.00000001D0)
and make similar changes elsewhere where you have similar expressions. The problem is that without the D0 (or _8), the value is single precision and may not convert to double in a way you expect. In general, you should avoid "mixed-mode" expressions where the operands have different types or kinds (precision level).
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