Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

ifc32 X ifc64

denisglx
Beginner
1,295 Views
Using the ifc32 and ifc64 compilers in 64 bits processor who is faster?

Thanks, very much.
0 Kudos
9 Replies
Steven_L_Intel1
Employee
1,295 Views
Generally, the EM64T compiler will generate code that takes better advantage of the 64-bit CPU and its extended register set. This is not a guarantee, though.
0 Kudos
satyapratap
Beginner
1,295 Views
I have problem that I want to run my fortran 90 code in 64 bit machine AMD.
Which compiler I should install there and can you given me website to download such a compiler.
Pratap
0 Kudos
Steven_L_Intel1
Employee
1,295 Views
You would install our compiler for "Intel EM64T". In version 8.1, the way you get this is:

1. First obtain a license for the 8.1 compiler (an evaluation or non-commercial license is ok.)
2. Register the provided serial number at the Intel Registration Center (link provided when you get the license.)
3. Log in to the Intel Premier Support account you just created. Select File Downloads, choose product "Intel Fortran Compiler for Linux", and look for the latest download package with a name starting with l_fce (not l_fc). Download and install this.

Be sure to read the release notes before installing. For AMD systems, use the -xW code generation switch to get the best performance.
0 Kudos
satyapratap
Beginner
1,295 Views
Thanks for your response.
I have this IA_32 compiler(ifort) installed in 64 bit machine (x86_64) but it gives me some kind of error (pasted below) when I run the code which run perfectly using IA_32 compiler in 32 bit processor.

%%%%%%%%%%%%%%%%%%%%%%%%
/usr/lic/intel_IA32/compiler80/bin/ifort: relocation error: /usr/local/lib32/libc.so.6: symbol _dl_starting_up, version GLIBC_PRIVATE not defined in file ld-linux.so.2 with link time reference
%%%%%%%%%%%%%%%%%%%%%%%
Tell me whether I need version of the compiler "Intel EM64T".

Thanks and Regards
Pratap
0 Kudos
TimP
Honored Contributor III
1,295 Views
Did you install the ifort 32-bit with the 32-bit paths set up the same as when you see the problem? Is your gcc -m32 working with this path? ifort inherits the paths used by gcc -m32 when running as root. It looks like you have installed a local version of libc, as the ones which come with linux don't usually appear under /usr/local. You will need an ifort recent enough to be aware of gcc -m32 for it to set up its paths automatically.
Both the 32- and 64-bit ifort have been capable of setting themselves up automatically under 64-bit RHEL for several months, provided that all the optional 32-bit development and library stuff is installed first.
0 Kudos
satyapratap
Beginner
1,295 Views
I have further question what is gcc- m32.
I also want to know whether ifort compiler which is working very well for 32 bit can also be used for x86_64( 64 bit machine) or not.
If not which compiler I should use and where Can I download them.

Please tell me clearly everything.
Pratap
0 Kudos
TimP
Honored Contributor III
1,295 Views
For gcc installed on the x86-64 64-bit linux, the -m32 option specifies 32-bit code generation and libraries. 32-bit ifort will not work unless the gcc development 32-bit components are installed. On the 32-bit linux, gcc supports only 32-bit development.

I don't know how the acquisition of current ifort for x86-64 could be described more clearly than Steve did. ifort 9.0 will be released by the end of the month; it will include all 3 architectures in the single tar file.
0 Kudos
satyapratap
Beginner
1,295 Views
Thanks for your message!
I have read in this forum somewhere when you have x86_64 I do not need "Intel EM64T" unless the processor is intel.
So from this it means that I do not need "intel EM64T" just the same ifort which works for 32 bit processor is enough to work on 64 bit machine.
Is it correct or not?
Pratap
0 Kudos
Steven_L_Intel1
Employee
1,295 Views
You misunderstood.

If you want our 64-bit compiler for AMD64, you want our "Intel EM64T" compiler. The 32-bit compiler cannot generate 64-bit code.
0 Kudos
Reply