64-bit Linux On The Opteron
JigSaw writes "A few moths ago Robert Minvielle put to test AMD's Opteron regarding its 64-bit Linux compatibility. The results back then were not very positive but he is now back testing more 64-bit updated distros: Gentoo, SuSE, Mandrake, Red Hat and Fedora. And this time the results are more positive with Linux offering good Opteron support where Windows-64 doesn't seem to. FreeBSD also lists the AMD64 platform as a tier-1 architecture."
Interesting revelation in the tests: Linux, while not having a great share of the market now, will progressively gain user base simply because it is so capable of evolving with new technology.
I was always preferable to Linux over Windows on 64-bit processors. Of course, I'm talking about the G5...
don't really understand why this shouldbe any different than supporting any other architecture. Linux does run other 64-bit architectures, eg64bit sparc and the antiquated among others. it's really just a matter of time before it's perfected.
big woop. so what else is new?
We went to a Sun demonstration on campus and they showed the new to be released Opteron servers with 1-4 CPUs. Price and performance is very, very good. They come with a SuSE derivitve distro. I couldn't tell if its real SuSE or a SuSE Sun optimized. Anyway, we are going to order a few of them for a BLAST cluster to replace our existing cluster.
This is a test. This is a test of the emergency sig system. This has been only a test.
Windows has a native 64-bit version but Intel have prompted MS to delay the release until they can come up with a competitive processor. AMD serves to steal much of Intel's marketshare otherwise. Useful or not, console wars has caused "64 bits to be better than 32".
Life is the leading cause of death in America.
A few moths ago
Even 64-bit Linux doesn't prevent spelling mistakes on Slashdot.
Benchmarking: Again, I do not have any benchmarks on CPU performance to show off. I did run the povray benchmark, but looking over the Povray benchmark page I see P4 3.0GHz machines getting beat out by Athlon 2800's and vice-versa, so I have little faith in the results (or at least in peoples postings to the site). Other sites on the net have run benchmarks on the Opteron, but without a 64 bit OS, and without 64 bit compiled benchmarks, I also have little faith in them. They should be used as a "touchy-feely-sort-of-may-bee" mark at best, in my opinion.
New year Resolution: Don't change sig this year
On the other hand, NetBSD has had amd64 support since 2001.
OpenBSD is reportedly working on it, but I haven't seen anything hit the tree as yet.
The linux opterons we have run SuSE but since the opteron compiler support is still not up to par performance wise they have yet to make a big impact on run times. AMD needs to fund some good compiler development for this architecture, as it CAN perform incredibly, it just doesn't due to unoptimized compilers. Thats why IA64 still beats the pants off Opteron IMHO. The Madison chips from Intel are insanely fast, and their compiler is top notch. PG's compilers just aren't optimized as well as Intels, and it really shows. The numbers I've seen from AMD compared to the numbers I get, are two different things, obviously due to poor optimization at the compiler level.
:-)
I suppose I dont even know the purpose of this post, just some observations
I don't know exactly what caused it, and it may not be much of a concern for other people, but the cpu time on my Seti@home units wouldn't increment using a Redhat beta for x86-64, with both the 64- and 32-bit clients. I liked the idea of using a 64-bit Linux distro but if I couldn't get Seti to run correctly on it, I'll just run a 32-bit version for now (Fedora Core 1 currently).
As much as I'd love to support Linux by purchasing a distro, SuSE wants $130 for their AMD64 distribution, which I just can't afford right now. And I'm too much of a noob to build my own from scratch using pure source, so I'll hafta wait.
But anyways, it's exciting to see more AMD64 distros, even if conspiracy theory says that Microsoft keeps delaying because of Intel pressure. I'm very happy with my dual opteron server, and will be even more-so when I can run pure 64-bit Linux.
There are only 10 kinds of people in this world... those who understand binary and those who don't
http://www.aceshardware.com/read.jsp?id=60000275
They have 32 and 64 bit apache benchmarks along with some others compared against single and dual xeons.
I think there is a general benefit to Open Source that we haven't been able to observe until now. It is a fact that Open Source is more easily ported and adapted, but the major systems haven't changed much for the past many years (Mac, X86, etc.). Now that an entirely new system is out, proprietary software developers will be stumbling over themselves as they try feverishly to make something from scratch, while Open Source developers will benefit from working as a group.
In a way, this has always been the way it worked, but now that there is a large jump in computing (32 to 64 bit processing is a pretty big jump, neh?) and the scale of development is made larger, the Open Source projects will show just how slow and inefficient proprietary software developing methods are.
Esoteric reference.
This lets you directly jump to the conclusion without having to read the 3-pages:
Conclusion:
The coming months (weeks?) should be interesting in that Mandrake is set to release the AMD64 version any time now, as they are taking pre orders for it in the Mandrake store. Recall, it was one of the best (if not the best) in my first review, and I blame the drive problems on the Asus BIOS update. Gentoo is nearing (from what I read) a really stable working system, and I have read repeatedly that others have it working fully (as a workstation with X windows) on other motherboards, so I again blame the Asus for my troubles with Gentoo. Red Hat is another story, having dropped the desktop edition, the "workstation" edition is well beyond my financial reach. A corporation may consider purchasing a copy for evaluation, but I would be tempted to wait on Mandrake or Suse.
FYI: costs as of 12-16-2003 for AMD64 Linux distributions:
Mandrake pre order $100
Mandrake corporate server $750 (standard support) $1500 (unlimited support)
Red Hat AMD64 workstation $792
Red Hat Advanced Server $1992
Suse Professional 9.0 $120 (distribution on DVDs, no CDs)
Suse Enterprise Server $767 (2 cpu) $1450 (4 cpu)
Looking at the above cost matrix and my experience, it is almost tempting to purchase SuSe just to have the DVDs (no CDs, strange). The enterprise/server editions seem to all be priced about the same, with no definitive mention of CPU capability from RedHat or Mandrake on the server editions. (I assume at least 2 CPU capability built into the kernel)
Side note: the Mandrake pre-order in question is Mandrake 9.2 (pre-order is at http://www.mandrakestore.com)
The whole idea of a CPU with more bits of addressability is memory... MORE memory... 4GB of addressable RAM on a 32-bit processor is simply not enough today. Speed is a side-issue, they're already fast, some of us just want more RAM.
We have a couple of Opterons with 8GBM RAM each running as MySQL/INNODB backend database servers. With that much RAM databases that would crawl on IA32 are very fast since so much more of it can be cached in RAM.
The only real problem is memory technology hasn't kept up. 1GB DIMMs can be had at almost reasonable prices but 2GB density ones are out of range of most everyone. 4GB are on the distant horizon.
I'd have gladly stuffed 16 or 32GB of RAM in the boxes we have if it had been affordable. More for less!
I'm sick of people making the mistake that a '64-bit' processor will automatically perform poorly at apps compiled for 32-bits. In the case of the Opteron, a 64-bit app will probably run better due to more general purpose registers (32 vs. 8), but by his tone, the author of the article seems to think that 32-bit app performance will be unimpressive (like Itanium).
This just ain't the case with Opteron or Athlon64.
Debian has not released its port yet, but it is coming. Here is the official Documentation (FAQ and HOWTO)
Doesn't seem the article tests the system with >4GB. That seems odd since that is one of the most compelling reasons to go 64bit (other than pure bragging rights).
My company upgraded to SuSE on Opteron a few months back, and had some random memory corruption with our 8GB setup. Turned out it was some bad interaction between the Tyan motherboard, the BIOS, and the stepping 1 of the Opteron. What a pain.
We're stable now with 4GB, but the memory was the only reason we upgraded in the first place. I'd like to see more tests with lots of memory.
Cheers
"The only questionable aspect of the Suse distribution is the choice of kernel, which is 2.4.21. I know that 2.6.x is beta for now, but it does seem (from the Gentoo installs) that it is faster and able to play nice with the ACPI, unlike 2.4.x on this motherboard."
Can someone tell me why using a stable kernel over a development kernel is a 'questionable' decision?
I stopped reading the article there, that is just stupid.
-If God wanted people to be better than me, he would have made them that way.
I believe the latest 2.4 Linux kernels have NUMA support but is it mature or will it get any better? Are other unix OS'es better at taking advantage of NUMA compared to Linux and will this change in a future Linux version?
2 years and no mod points. Join reddit. Because openness is good.
That is one of the interesting benefits of virtual execution environments. AFAIK the JIT compilation process can take advantage of the target system's architecture, so .NET apps would not need to be recompiled to see a beneift. I don't have access to a 64 bit CPU so I haven't investigated but I did notice 64 bit versions of the .NET framework in the latest Whidbey betas. I'm not sure if there is a 64 bit version of framework 1.0 or 1.1. I did notice at least one Tech-Ed presentation from this year was on writing .NET apps to target 32 and 64 bit platforms.
I've seen plenty of them online (I got mine from googlegear.com, now zipzoomfly.com, but have seen a few at newegg). I got a Tyan retail box server board for my file server from ZZF. (I hate that new name)
:-P)
;-) And I don't work for either company.
Don't be afraid to shop around online... both ZZF and newegg (I buy parts from them all the time) are great retailers if you live in the US (I know, US centric but you don't specify where you live
I'm sure your local computer parts store wouldn't mind ordering you one though, for a small fee
There are only 10 kinds of people in this world... those who understand binary and those who don't
Yes, we will. Keep in mind, "near future" is relative. The universe is really, really old.
What are you talking about? Dual Opteron boards have been out since pretty much Day 1 of the Opteron's release.
A few examples:
Tyan Thunder K8W
MSI K8D Master-F
Rioworks HDAMC
S mi a baj magyarral? Szerintem egy nagyon szep nyelv, de lehet hogy egy kicsit eloiteletes vagyok ebben az esetben...
(What's wrong with Hungarian? I think it's a very beautiful language, but I may be a little prejudiced in this case...)
MT
BTW, there should be accented and tilded characters in the above sentence, but I don't know how to submit them using the Slashcode engine.
I've been very happy with Suse on my opteron system, but there's one thing that keeps a 32 bit installation on another partition. ATI, though they've made several press releases about how they "fully support the opteron", has not felt the need to release 64 bit versions of their drivers (either for linux or windows), and the open source radeon driver doesn't support the radeon 9700 pro that I own. I'm almost tempted to get an nVidia card simply because they have 64 bit drivers, even though this generation of cards just isn't as good as ati's.
The language is fine. The notation as used in programing (like MS does) is a pain. I have to use it, meaning I'm always making up prefexes for each class and structure I have. I have yet to see any benifit to it. I try to be kind and remember I've only worked on this code for a couple months, but I still hate it.
Man, you're getting confused. The "bits" that the current generation of processors can sling around have no meaningful comparison to the qubits of quantum computers.
Ultimately, part of the problem here is that people are still trying to find one single, meaningful number that can tell them whether one processor is "better" or "faster" than another. There just isn't such a thing anymore. Yes, megahertz really is (at least partly) a myth. Processor vendors are doing a lot of things with their chips now that make any single figure pretty much irrelevant. You have to look at a whole bunch of things, like pipeline depth, cache design, the things being done to make chips more efficient at lower clock speeds (a la AMD's chips and the Pentium-M), the number and workload of actual function units on each chip, etc.
A "64-bit chip" isn't automatically "better" than a 32-bit one, just like a 2GHz chip isn't automatically better than a 1.8GHz one. One thing remains true: processors are getting better all the time, and will continue to do so.
Breakfast served all day!
That's why you use a handful of well-defined and strictly used prefixes.
s - struct
a - array
str - string (stl)
sz - string (c)
csz - CString
etc. Making up new prefixes for everything is just about as useful as not using them at all.
The copper bosses killed you, Joe. 'I never died', said he.
I know. That is why I said that 64-bit apps will probably perform better. I was commenting on the fact that the author of the article seems to be under the common assumption that a 64-bit processor will automatically perform worse on 32-bit apps than a 32-bit-only processor (despite the fact that Opteron does run 32-bit apps natively, rather than emulated like Itanium). For an example of this (not Opteron-related, but thematically the same), check out some Mac boards from before the release of the G5, where some posters insisted that every app would have to be recompiled for 64-bits or else they'd perform badly.
Sorry for the misunderstanding.
I ported my software to the opteron a few months back. It was quick & easy (I used a beta red hat distro). The main reason I got the box was to provide customers an alternative to sun. I work in EDA (we do the software to make the chips) and 4GB is not enough for the big chips. I'd encourage other developers to give the opteron a try. I think it took all of 2 days to do the port. Performance has been good, but since I can't afford a fast sun box, I can't really compare.
The BIOS initializes the hardware and then Linux uses it as it has been initialized.
On many systems only the BIOS knows how to do things such as set the speed of the IDE connection. Linux can then query and use that speed but it cannot set the speed to anything else. This can be true even though Linux goes to the hardware directly and does not use the BIOS.
Pathscale by former SGI'er does just that.
Help fight continental drift.
I doubt I will see 128 bit computing in our lifetime, but then again I might live longer than I expect. Why would we need it? The memory
addressing situation will take probably over 100 years, if you think of the amount of memory doubling every 2 years, to take up that next 64 bits of address space, that's about 128 years, right?
So, short of some new technology requirements or ram moving much faster (it will probably advance slower) it doesn't sound likely.
I want to play Civ IV with 18 million terrabytes of addressable memory. Paris is is researching Creme Brulee, Liverpool is building the mod haircut, and there is a coppertone shortage in Pismo Beach.
Is there a word for a mega-terrabyte?
...my point is that Linux has 64-bit support and it has it now. Linux and AMD are a natural partnership.
What's needed is a killer game that runs on Linux-64. The must-have toy will drive Linux faster and further than any business app could. It's the reason I know most people overspend on a PC, so they can play the latest and greatest games.
Intel's known this for years. That's why they give early release processors to the top game manufacturers so that when the new processor hits the street, there's software that'll shine with it.
Ruby on Rails Screencast
All modern processors have way more physical registers than architecural registers. Dynamically at run time the registers are renamed. So an increase in physical registers can help even 32-bit code that uses 8 architecural registers....assuming the scheduling window is big enough. Those 8 x86 registers are dynamically mapped to 128 physical registers. Not bad.
Don't hold your breath. The jump from 8-bit to 16-bit was important; CPUs could address a whole 64KB of memory with just one index register. 16-bit to 32-bit was equally big, since it increased the addressable single-address-byte memory space by a factor of 2^16 (from 64KB to 4GB).
However, with the jump from 32-bit to 64-bit, you're increasing the addressable map by a factor of 4 billion. Put another way, the relative increase is 2^16 times bigger (4 billion fold instead of 65 thousand fold).
I'm still somewhat amazed that my office workstation has over 20,000 times more memory than my first computer. I do not anticipate being alive, though, when an off-the-shelf PC has 4 billion times more memory than this.
Dewey, what part of this looks like authorities should be involved?
In my opinion the "killer app" that not only 64bits systems, but linux in general needs to make any serious headway is business applications. Another person who replied touched on this with mention of RDMS.
What linux needs more of is actual business systems (Point of sale, finance tracking etc - for small to medium sized businesses). If you could run your point of sales system on linux the savings of several hundred dollars per system would be a major advantage. I mean it was the spreedsheet that really brought pushed PCs mainstream (you start using one at work, then you think you should probably have one at home... story goes on).
It's just an opinion - but I think we have more than enough text editors and windowing environments.
- traskjd
My blog [.net, rants, general IT]
Which is the situation I hate the most. I have to support several different OSes in one code stream, and if the OS can do it I have to support big files. That means positionInFile is a 32 bit number on some systems, and 64 bit on others, choosen by a #if.
Of course when I use a variable I don't trust that notation because often enough it is defined wrong. That is I have DWORD ulFoo or some such. Better than what I just discovered: I have a ulHandle used all over, that turns out to be a pointer to a struct cast to a unsigned long. The hungerian notation is absolutely correct (it is a ULONG), while being completely wrong (it is a struct containing a lot of data) - one place where it might be useful and it isn't.
I kleep trying to remind myself not to blame the bad code of others on the notation, but I get the feeling it would be easier to drop the notation and look at the definition when I want to know. Most of the time I don't really care what something is, (If it is an intiger it doesn't matter if it is a long, int, short, byte, or long long, all the math operators work, and I can mix and match) or I need to look anyway. (Sure it is a struct foo, but I need to see the definition of foo to know what the other members are, and that is the only time I care)
Good place to bring it up: the academic pricing DOES include the x86-64 version of RHEL, too.
When we were discussing this at a system admin meeting, several people who were running Linux clusters got VERY big grins on their faces.
-Erwos
Plausible conjecture should not be misrepresented as proof positive.
Of course alot of it has to do with the gnu C compiler being optimized but the newer kernel will better take advantage of the newer chipset and other features.
http://saveie6.com/
uh, no.
floats are 32 bits.
doubles are 64 bits.
Most modern CPU's handle floating point as 64 bits internally (with a couple extra bits for rounding stuff off, etc.). If the CPU is compliant to the IEEE specs (almost everyone is) you should get the exact same results running on one architecture as another.
The main exception is Intel, whose math processing uses 80 bit internally and is not IEEE compliant. While technically Intel's floating point math is a little more accurate (we're talking about the last bit here), it can be annoying that your results from a IA32 processor will be slightly different than from a Sparc...
Note that while Intels are 80 bit internally, as soon as you move off the CPU, you're back down to 64 bits. Someone correct me if I'm wrong, but I believe there's an option in gcc to force IA32 code to be IEEE compliant, and it works by inserting a load and save before every floating point operation (forcing the value off chip, which kills performance but causes things to get truncated to 64 bits).
And I've never heard of anything using 96 bits.
In the near future? Not unless you use a very broad definition of "near future". The main reason for this is quite simply that 128-bit CPUs would be SLOW as compared to 64-bit chips and add absolutely no meaningful features.
:> ).
Every time you increase your bitness of the machine, you increase the size of your pointers, and bigger pointers take up more memory, take longer to load from memory (or store to memory) and they fill up your cache faster. All else being equal, 64-bit code is usually about 5% slower than 32-bit code, and 128-bit code would probably be 10% slower than 64-bit code. Of course, all is rarely equal with 32 vs. 64-bit code (ie the AMD64 instruction set doubles the number of registers when running in 64-bit mode, and that usually more than makes up for the 5% performance hit of running 64-bit code and actually makes things faster since x86 is so register-starved). With Apple's G5 though we might see this 64-bit performance hit. The IBM PowerPC 970 and the PPC arechitecture in general is exactly the same in 64-bit mode as in 32-bit mode (warning: before anyone jumps on me for this, I'm kind of oversimplifying here
There are, of course, exceptions to this rule. Any time you need to access more than about 2GB of memory, then 64-bit is the only way to go. While 32-bit chips can, at least theoretically, support up to 4GB of memory, things start getting really messy by around 2GB and typically you can't actually use more than 3GB. Quite a while down the line (40+ years?), 64-bit processors might run into a similar memory problem and then 128-bit chips will be worthwhile. However, since 64-bit chips can natively address 10^19 bytes of memory, this is still quite a ways off even if we continue the trend of doubling memory requirements every 2 years or so.
There is also the issue of large integers. If you need integers with a range of more than 4 billion (maximum that 32-bit allows), then using 64-bit integers is faster. You CAN deal with 64-bit integers on a 32-bit chip, it just takes at least 3 times as long. If you only need to deal with one 64-bit integer every ten thousand instructions, than this advantage is negligible, but if you deal with very large integers regularly it will help performance. The advantage of using 64-bit integers is very rare though (remember that most complicated calculations use floating point numbers instead of integers). Going from 64-bit to 128-bit integers helps even less. It's got to be extrodinarily rare that an integer range of greater than 10^19 is required.
In short, the need for 64-bit CPUs in here now for some and will be very beneficial for many people in the next 2-5 years. The need for 128-bit chips is pretty much non-existant now and likely won't exist in any meaningful quantity for 30+ years. Beyond that, who knows.
Ohh, and before anyone makes some clueless comment about how game consoles are already 128-bit, they aren't. They are measuring a totally different bitness related to video processing. The CPUs of the three major consoles out there today are all 32-bit. The Nintendo64 used a 64-bit CPU, mainly for marketing purposes, but it was rather useless from a technical point of view.
FreeBSD/amd64 is a pure 64 bit OS. There is no 32 bit code at all. The kernel, userland, ports/packages etc are all 64 bit. None of this hybrid 64/32 stuff. :-)
Actually, this is probably our greatest liability. While we can run 32 bit binary applications (can you say perforce?), it isn't perfect. Much more work is still going to be done in this regard.
If anybody is interested in giving FreeBSD/amd64 a whirl on one of these machines, we'd appreciate folks trying out the 5.2-RC1 ISO images. See the ftp link on the story above. Since RC1, lots of bugs have been found and fixed. Most notably for support of KDE and gnome environments. If you do try it out, do be aware that its still a little green in this area.
I personally, have been running a FreeBSD/amd64 desktop for about 2 months. I do subscribe to the 'eat my own dogfood' mantra. I do not have any x86 unix machines left except for my 486 firewall and a laptop. That goes for both home and work. My work desktop is FreeBSD/amd64 too.
Anyway, it's nice to see a FreeBSD reference here for a change.
How come I'm using it on my dual Opteron 240 (on Tyan S2885) ?
It's true that many things doesn't work in 64-bit mode (loke OpenOffice, Abiword etc), but system WORKS ! By "system" I mean X, cups, samba, KDE, Gnome etc. It works so well that I have bought two dualCPU machines (update of two aged workstation machines-P4 2 GHz and Tualatin 1.4 Ghz @ 1.7 GHz) and I'm waiting for a third to arrive- that one will replace fileserver/printeserver/firewall/etc machine.... Gentoo on Opteron works, and unpolished details are getting its shine rapidly. I use: Motherboard TYAN Thunder K8W S2885 2x Opteron 240 2 Gb of PC2700 ECC Reg (512 Mb modules) GeForce 4 Ti4200 HDD EIDE 120 Gb WDC
I have had a 64 bit AIX machine running for a while with the 64 bit kernel. While I have not really had the load yet to test it, I and many others in the AIX realm don't necessarily think that 64 bit is going to increase performance. How do you test a performance increase when it only increases by a few nanoseconds??
:) So, the need for more memory is upon us.
64 bit is all about memory addresability. You can directly address more memory on a 64 bit machine then you can a 32 bit machine. Period. When you would like to get the best performance you can out of your RDBMS, most shops like to load as much of the DB as they can into memory. DB's are getting larger then 4 GB now!
BillG said 640 KB out to be enough for anyone..ha ha Bill. Very funny.
Gorkman
doubles are 64 bits.
Sez who?
On the CDC-6600 and 7600, single precision reals were 60 bits and double precision reals were 120 bits (well 1 bit for sign, 11 for exponent and 96 bits for the mantissa).
Sun Fortran has support for 128 bit reals (IIRC copied from DEC) although handling of those beasts is done by software.
Note that while Intels are 80 bit internally, as soon as you move off the CPU, you're back down to 64 bits. Someone correct me if I'm wrong, but I believe there's an option in gcc to force IA32 code to be IEEE compliant, and it works by inserting a load and save before every floating point operation (forcing the value off chip, which kills performance but causes things to get truncated to 64 bits).
Dunno about the Pentia, but the original 8087 implementation had a control word that would force rounding to either 32 or 64 bits. Also bear in mind that the SSE facilities in the latest Pentia do not use the 80 bit internal representation (which probably disgusts Kahan, but...).
A Shadeless room is a brighter room.
I mean, I understand that Linux applications will most likely have 64-bit support a lot sooner, but 40% of windows application support in the first year sure looks like enough of a reason to purchase the machines now.
I guess I don't see a huge argument in justifying that only %40 of windows applications are going to have 64-bit support when there's virtually no drawback to buying a 64-bit processor from AMD vs. an equally priced 32-bit processor from Intel.
Sure, you can argue that it's a "waste", but even if only three of the big players have 64-bit applications (Microsoft, Macromedia, Adobe) within the first year, that's still 90% of the applications that are used on Windows machines in a corporate or even personal environment for the average user.
The driving force is going to be the gaming community, and AFAIK, the major game software companies plan on having 64-bit games available too, so I fail to see what the real issue regarding support is.
If %40,%30,%20,%10 is a fair assessment of compatibility over the next five years, that means that in three years %90 of the Windows applications can be assumed to have 64-bit support, which is perfectly fine for the corporate or average 3-year life cycle of a computer.
Or am I missing something?
Besides the single and double precision formats, the IEEE 754 also loosely defines two classes of extented formats.
A few I know that exist: 80 bit (x87, IPF), 96 bit (Cray), 128 bit (SPARC, Alpha, PowerPC).
The thing is that, as you mentioned, to get IEEE 754 complian behaviour out of x87 you need to store and load back the results. This is because x87 only has operations on 80 bit formats, that yield results rounded to 80 bit. If you want 32 or 64 bit precision, you need to round those results to get IEEE compliant results. And the store/load cycle is the (painful) way to do it. Any IEEE 754 compliant compiler should be able to do this, its not a a GCC specific feature.
SSE/SSE2 extension and other architecures don't have this problem: they have operations that yield properly rounded results to the intended precision, no matter how they work internally.
A computer of 16-bits or any arbitrary size can emulate a computer of 128-bits or any other arbitrary size with no difficult (especially at an inifinite clock speed.) It just make take more than one instruction to do the same thing.
I suppose this is really more of a gcc question, but here goes. Does the amd 64 use a 64 bit pid_t, time_t, uid_t, etc? In my opinion, that is one of the more important reasons to switch to a 64 bit processor.
Did you mount a military-grade, variable-focus MASER on an unlicensed artificial intelligence?
A petabyte would be a kilo-terabyte. A mega-terabyte would be and exabyte.
I have recently built up a system based on an opteron processor in a dual processor configuration. I had more problems than i had ever had with other systems initially. However once I upgraded hardware bios's and other things like that it became a good task. Ive since replaced several systems with opterons and all is working well and stable.. note these are servers and have no X.. DB servers and Web / Mail servers. The increased performance is noticable over the last hardware that wasnt that old as well (Dell PE-2650 Dual XEON's 2400mhz etc).