Op zich is het omzetten van een applicatie van 32bit naar 64bit niet zo'n probleem. Je pakt gewoon een compiler die 64bit binaries kan maken en gaan. Alleen 64bit biedt veel voordelen die je niet gebruikt als je slechts van een programma dat geschreven is voor een 32bit systeem er een 64bit versie van maakt. Het zit hem dan ook vooral in het optimaliseren van de software. Zoals je nu bij ATI bijvoorbeeld ook ziet. Waarschijnlijk hebben ze daar gewoon die code door een 64bit compiler gegooid en dan krijgt je dus ongeveer hetzelfde resultaat (zal altijd iets langzamer zijn omdat 64bit natuurlijk wat overhead heeft als je code gebruik die voor 32bit is bedoeld.)
Echter heeft NVidia er wat meer werk van gemaakt en daar komt dan ook meteen de kracht van 64bit naar voren.
Als je het dus echt goed wil doen dan moet je Gentoo Linux pakken (zoals
ik 
.) Dit besturingssysteem kan je volledig compileren voor 64bit en er zijn al redelijk wat packages waarbij er ook gedacht is aan het 64bit systeem. Op dat moment heb je dus een volledig 64bit systeem zonder 32bit geneuzel meer. Per saldo dus sneller omdat 32bit software op een 64bit processor (dat is althans mogelijk met de AMD Athlon 64 serie) binnen een soort van emulator draait waardoor deze trager is dan pure 64bit software.
2 puntjes:
- Wat zijn eigenlijk die 64-bits optimalisaties die in broncode verwerkt moeten zitten om van de voordelen van een 64-bitssysteem te profiteren? Dit hoor ik vaker, maar tot nu toe heeft nog niemand dat verhaal onderbouwd.
- 32-bits software hoeft niet in emulator gedraaid te worden door een athlon64. Deze cpu is namelijk gewoon een native 32-bits processor met 64-bits extensies. En nee, WoW (Windows on Windows) is geen emulator, als je dat soms bedoelt.
Het kan zijn dat ik het helemaal mis heb maar voorzover ik weet is de grootste optimalisatie dat je met grotere getallen kan werken. Als je dat op de juiste mannier toepast kan je bepaalde berekeningen sneller uitvoeren t.o.v. een 32bit processor (in minder tijd omdat de processor als het ware meer doet.) Daarnaast heb je natuurlijk de grotere adresseermogelijkheden, alleen dat zal op de huidige systemen niet gaan zorgen voor problemen, afaik kan en 32bit processor 4 GiB geheugen adresseren (een 16bit processor met diezelfde theorie maar 64 MiB trouwens.) Als je echt wil weten hoe de vork in de steel zit kan je denk het beste een paar developers aanschrijven op de mailinglists van compilers (zoals GCC.) Deze personen werken aan de compilers om de optimalisaties voor het 64bit platform tot z'n recht te laten komen dus ze kunnen hoogstwaarschijnlijk het haarfijn uitleggen

.
De AMD Athlon 64 is niet native 64bit, dat klopt. Mijn verhaaltje klopt niet geheel idd. Alleen dan gaat het alsnog op dat wanneer je de extentions goed gebruikt dat deze voor extra snelheid kunnen zorgen.
Je kunt in iedergeval doubles nu gewone integers van maken, aangezien dit dan standaard 64 bit is. Dit kan dus ook sneller worden behandeld. Aangezien deze veel worden gebruikt in spellen en wetenschappelijke berekningen is dit vrij handig.
(Dit geld natuurlijk ook voor floating-points e.d.)
Dit is het enigste wat ik weet, verder moet je inderdaad aan de gene schrijven die compilers schrijft.
@h.edink:
Van doubles gewone integers maken is sterk af te raden

Het is bij het overzetten van 32-bit naar 64-bit code wel mogelijk om longs te vervangen door integers of doubles door floats...