Difference: CompilerInfo (1 vs. 2)

Revision 215 Feb 2006 - Main.BillRice

 
META TOPICPARENT name="CemIT"
Contents

Linux 64 bit System Notes

Deleted:
<
<

from LWN.net

 
Changed:
<
<
http://lwn.net/Articles/79036/
>
>
AMD and 64 bit Compilation Notes
Deleted:
<
<
The need for 32-bit libraries complicates system administration, however. An x86_64 Fedora system has many duplicated packages installed, and working with rpm can, occasionally, be a bit confusing. The rpm interface was not, perhaps, designed for dealing with a world where two packages have the same name and version number, but are still distinct. Unless you plan to leave the 32-bit world behind entirely, however, you will need two versions of the libraries. Chances are that most x86_64 systems will want to run 32-bit binaries for some time - in some cases, they perform better, and, in any case, some programs in FC2t2 (e.g. OpenOffice?.org) are still built that way. Building applications can also be a bit of a challenge, at least a first. Quite a few makefiles and configure scripts assume that libraries live in /usr/lib. On a Fedora system, /usr/lib has the 32-bit versions of the libraries; the native versions live in /usr/lib64. A makefile which uses the default gcc (which compiles in 64-bit mode) and tries to explicitly link against things in /usr/lib will fail. Once you learn to recognize this problem, it gets easy to fix.

Your editor was naturally interested in performance issues. To that end, he built a version of bzip2 in both 64-bit and 32-bit mode and compared the results. Both compression and decompression ran about 10% faster in the 64-bit mode. With the x86_64 processor, better performance is generally expected in the native mode, mainly due to the additional registers which are available. The executable size and memory usage in 64-bit mode were larger, but not by much. A second test, using the SoundTouch? library yielded a surprise, however: changing the tempo of a large sound file ran in less than 1/5 the time in 32-bit mode. The Athlon64 processor, it would seem, runs certain operations far more slowly in 64-bit mode; your editor has not, yet, had the time to track this one down.

From Newsforge

http://os.newsforge.com/os/05/03/30/1242206.shtml?tid=152&tid=2&tid=150&tid=74

Performance and enhanced capabilities aside, the most valuable feature of the AMD64/EM64T is its ability to run 32-bit x86 binaries without a separate processor or operating system. This makes it much easier to slowly transition from a 32-bit to a 64-bit environment without having to change software applications. While AMD64 and EM64T processors are still very fast while in 32-bit mode, you won't be able to take advantage of any of the above-mentioned features and expanded resources (with the exception of the SSE and SSE2 instructions) if you're running a 32-bit operating system. Even if you're going to be running 32-bit binary programs, it pays to have a 64-bit operating system underneath them so that the rest of the system can run more efficiently. Fedora Core 3 (and the upcoming 4) is a good, safe bet for those who want to go 64-bit with as little cost and hassle as possible. Novell, Mandrake, and Red Hat have mostly 64-bit versions of their desktop, workstation, server, and corporate distributions, if that's the route you prefer. Gentoo Linux requires more time and tinkering to get things working properly in 64-bit mode, but for those of us who enjoy that sort of thing, that only makes Gentoo more appealing.

AMD Compilation Notes

 
  • gcc under 64-bit linux is 64-bit
Changed:
<
<
  • most Makefiles default to /usr/lib, but 64-bit libraries are in /usr/lib64
  • Use the -m32 switch in gcc to set compiler to 32-bit mode
>
>
  • Use the -m32 switch in gcc if you want to compile in 32-bit mode
  • Under Fedora/Redhat, 32-bit libraries are in /usr/lib ; 64-bit are in /usr/lib64
Added:
>
>
  • most Makefiles default to /usr/lib, which is not what you want when compiling in 64-bit mode
  • Need to change prefix to /usr/lib64 when making or linking 64-bit libraries
 
  • Switches to optimise for Opteron: -march=k8 -malign-double -mfpmath=sse
Changed:
<
<
  • Recommended to link with AMD MAth Core Library (AMDCL)
>
>
  • Recommended to link with AMD Core Math Library (ACML)
 
  • Set ALLOWTOPICVIEW =

-- BillRice - 15 Feb 2006

Changed:
<
<
>
>
 
META FILEATTACHMENT attr="" comment="AMD Compiler Notes" date="1140028403" name="amd-compiler-info.pdf" path="amd-compiler-info.pdf" size="583589" user="BillRice" version="1.1"
Added:
>
>
META FILEATTACHMENT attr="" comment="64 bit AMCL g77 libraries" date="1140032701" name="acml-3-0-0-gnu-64bit.tgz" path="acml-3-0-0-gnu-64bit.tgz" size="9995385" user="BillRice" version="1.1"
META FILEATTACHMENT attr="" comment="32 bit AMCL g77 libraries" date="1140032728" name="acml-3-0-0-gnu-32bit.tgz" path="acml-3-0-0-gnu-32bit.tgz" size="24117886" user="BillRice" version="1.1"
 

Revision 115 Feb 2006 - Main.BillRice

 
META TOPICPARENT name="CemIT"
Contents

Linux 64 bit System Notes

from LWN.net

http://lwn.net/Articles/79036/

The need for 32-bit libraries complicates system administration, however. An x86_64 Fedora system has many duplicated packages installed, and working with rpm can, occasionally, be a bit confusing. The rpm interface was not, perhaps, designed for dealing with a world where two packages have the same name and version number, but are still distinct. Unless you plan to leave the 32-bit world behind entirely, however, you will need two versions of the libraries. Chances are that most x86_64 systems will want to run 32-bit binaries for some time - in some cases, they perform better, and, in any case, some programs in FC2t2 (e.g. OpenOffice?.org) are still built that way. Building applications can also be a bit of a challenge, at least a first. Quite a few makefiles and configure scripts assume that libraries live in /usr/lib. On a Fedora system, /usr/lib has the 32-bit versions of the libraries; the native versions live in /usr/lib64. A makefile which uses the default gcc (which compiles in 64-bit mode) and tries to explicitly link against things in /usr/lib will fail. Once you learn to recognize this problem, it gets easy to fix.

Your editor was naturally interested in performance issues. To that end, he built a version of bzip2 in both 64-bit and 32-bit mode and compared the results. Both compression and decompression ran about 10% faster in the 64-bit mode. With the x86_64 processor, better performance is generally expected in the native mode, mainly due to the additional registers which are available. The executable size and memory usage in 64-bit mode were larger, but not by much. A second test, using the SoundTouch? library yielded a surprise, however: changing the tempo of a large sound file ran in less than 1/5 the time in 32-bit mode. The Athlon64 processor, it would seem, runs certain operations far more slowly in 64-bit mode; your editor has not, yet, had the time to track this one down.

From Newsforge

http://os.newsforge.com/os/05/03/30/1242206.shtml?tid=152&tid=2&tid=150&tid=74

Performance and enhanced capabilities aside, the most valuable feature of the AMD64/EM64T is its ability to run 32-bit x86 binaries without a separate processor or operating system. This makes it much easier to slowly transition from a 32-bit to a 64-bit environment without having to change software applications. While AMD64 and EM64T processors are still very fast while in 32-bit mode, you won't be able to take advantage of any of the above-mentioned features and expanded resources (with the exception of the SSE and SSE2 instructions) if you're running a 32-bit operating system. Even if you're going to be running 32-bit binary programs, it pays to have a 64-bit operating system underneath them so that the rest of the system can run more efficiently. Fedora Core 3 (and the upcoming 4) is a good, safe bet for those who want to go 64-bit with as little cost and hassle as possible. Novell, Mandrake, and Red Hat have mostly 64-bit versions of their desktop, workstation, server, and corporate distributions, if that's the route you prefer. Gentoo Linux requires more time and tinkering to get things working properly in 64-bit mode, but for those of us who enjoy that sort of thing, that only makes Gentoo more appealing.

AMD Compilation Notes

  • gcc under 64-bit linux is 64-bit
  • most Makefiles default to /usr/lib, but 64-bit libraries are in /usr/lib64
  • Use the -m32 switch in gcc to set compiler to 32-bit mode
  • Switches to optimise for Opteron: -march=k8 -malign-double -mfpmath=sse
  • Recommended to link with AMD MAth Core Library (AMDCL)

  • Set ALLOWTOPICVIEW =

-- BillRice - 15 Feb 2006

META FILEATTACHMENT attr="" comment="AMD Compiler Notes" date="1140028403" name="amd-compiler-info.pdf" path="amd-compiler-info.pdf" size="583589" user="BillRice" version="1.1"
 
Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding this intranet, Send feedback