Follow Slashdot blog updates by subscribing to our blog RSS feed


Forgot your password?
Operating Systems Software

64-bit Toys for Athlon-64? 82

gbulmash asks: "I'm looking to see just how much performance I can squeeze out of a new Athlon-64 system. This isn't for benchmarking, but more like you got a new car and you're looking for a long, straight road where you can push the needles into the red before letting off the gas (and then maybe a twisty mountain road to test cornering). Can the all-knowing Slashdot readers recommend some AMD-64 enabled/optimized distros and packages that will let us new proud papas of AMD-64 systems fully open up the throttle on these bad girls and see what they're made of?"
This discussion has been archived. No new comments can be posted.

64-bit Toys for Athlon-64?

Comments Filter:
  • Well, (Score:3, Informative)

    by Sevn ( 12012 ) on Tuesday October 14, 2003 @06:03PM (#7213534) Homepage Journal
    You can build a Gentoo system completely optimized for AMD64 with help from this page: html []

    T-Minus 10 second and counting til someone starts bashing Gentoo and recommending Debian.
    • You might also want to see if you can get your hands on the 64bit XP beta. I found some information here:

      Microsoft Announces Beta Version of Windows XP 64-Bit Edition For 64-Bit Extended Systems []

      It looks like you can download the beta if you are an MSDN member only.
      • Silly wabbit, don't you know that posting pro-MS comments on Slashdot is for kids?

        Seriously, why anybody even bothers to post a recommendation of something MS on /. (aside from their MS Sidewinder or MS Wheel) is beyond me.
    • the benefit of the Athlon-64 / Opteron is that it is a blazingly fast x86 (32bit) CPU as well as having 64-bit stuff.

      64bit code will be larger and gcc is currently much worse at generating code for x86-64. Only compile things that actually show a benefit from it as 64bit native if speed is what you desire.
    • Also, I think there is a AMD 64-bit version of Suse available, and a beta of RedHat also.
    • >>>"T-Minus 10 second and counting til someone starts bashing Gentoo and recommending Debian."

      Wrong. Debian is made to be a easy-to-maintain stable linux distribution. Because of being made for servers, it also uses tried and tested (read: outdated) packages optimised for the whopping 386.

      Gentoo is for die-hard users who demand everything current and fully optimised for their system. Because it's their system, they can sacrifice some stability.

      Sinply it's a trade-off for "stable, unoptimised, an
    • """
      T-Minus 10 second and counting til someone starts bashing Gentoo and recommending Debian.

      ??? I'm a died-in-the-wool Debian user, and yet I've recommended Gentoo to many more people recently than I've recommended Debian.

      Do you really see that much Gentoo bashing? Are you sure they're real debian users and not just MS plants? Either way, they're idiots, Gentoo's perfect for this situation.

      Foot to the metal!

    • I run Gentoo at home and I'm loving it. But you won't be able to push the athlon64 to the max unless gcc can compile code that can take advantage of it.

      Anyone have any experience/knowledge?

  • Compile an optimized OpenSSL for the Athlon-64. Sure it might not look pretty but I bet it can do RSA really fast.
    • OGRs were particularly Mac (altivec engine) friendly as I recall, a friend's 300Mhz ish imac would regularly post equivelent scores to up to 1 ghz k7 and P3s. I would assume that the 64 bit processor would be better at these too, the engine might need some optimization work done first though.
  • By pushing a brand new car to the redline you risk voiding your warranty and causing serious problems later in the life of the car. Cars need to be broken in gently.
  • amazingly enough, the athlon 64 does not seem to have a vastly large number increase in opcodes. I believe they added another set to that long list of opcode types... MMX, MMX2, SSE, etc but the only real preformance increase comes from allowing it to access memory a double word at a time. the problem with that is it only really increases the preformance of floats and arrays if properly optimized.
    • The most benefit will most likely come from the 8 extra general purpose registers the amd64 cpus have. The x86 has always been a register-starved architecture, and adding a few will result in a lot less register saving/restoring overhead. That alone will seriously increase performance.
  • Other than compiling an app and timing the time spent, what are good tools in general that can be used?
  • int main(int argc, char *argv)

    double i=0;
    while ( i++ != 0xFFFFFFFF);
    return 0;
    • by gazbo ( 517111 )
      Nice coding, dude, except that it will run forever. When you're using a test you use a DOUBLE EQUALS sign, we learnt this weeks ago in class and its pretty basic - your code will just assign 0xFFFFFFFF to the variable over and over.

      I'm a bit confused why you'd want to assign a string to a double in the first place, but I guess in C everything is a number at the end of the day so it's still valid.

      • I applaud your interest in C, but stay awake in class.

        The double equals sign is in fact a conditional operator, and the single equals sign is in fact an assignment operator, but the != is by no means a single equals sign. It is correct as stated, read simply "not equals".
        Also, he is not assigning a string. He is assigning a hex value 0xFFFFFFFF. By prepending a value with 0x you are stating that the attached sequence should be interpreted as a series of hex characters -- 0-9 and A-F. If you haven't lea
        • Also, he is not assigning a string. He is assigning a hex value 0xFFFFFFFF...

          Actually, he's not assigning anything...he's comparing the number 4294967295 to the value of i. Thing is, his code is a sort of a trick. The first time into the while loop, the test will pass (because 1 is not equal to 4294967295), the statement below it will be executed, and the program will exit (return 0). With proper brackets (because slashdot is stupid and won't let you indent), the code would look like the code below. T

          • actually your wrong too...

            if it was a:
            while(i++ != 0xFFFFFFFF)
            return 0
            it would run once and then exit...
            but because of the semi-colon right after the comparison, nothing is executed in the loop, it just loops, then once i is sufficiently large... it will return 0... although if it was void main, the return wouldn't be needed at all... :)
        • actually... the first comparison would be of:

          0 != 0xFFFFFFFF

          The variable is evaluated /before/ the post-increment operator is applied. The value of i inside the loop first time round OTOH /would/ be 1.

          Also, just for the fun of it, change the declaration of i from 'double i=0' to 'int i=-1' and see what happens (at least on x86, alpha, usparc, ppc), find out why, and dont ever forget :)

          • The first thing I thought of was FFFFFFFF being a negative number, but it wasn't until much later that I saw he wasn't doing a less than, he was doing a not equals.

            Then I realized I was up pretty late tonight, and went to sleep.
    • Well, 0xFFFFFFFF is the largest 32bit number you can write with an unsigned integer - or -1 for a signed 32bit number. Weren't we looking for things to do with 64 bit processors?

      So I believe the code should be:
      int main(int argc, char *argv)
      double i=0;
      while ( i++ != 0xFFFFFFFFFFFFFFFF);
      return 0;
    • Note that you have to turn optimications off, or declare i as volitale or any half way decient compiler will optimise it out and turn your program into int main(int argc, char * argv) { return 0; } which is not what you want.

      I would also recomend that you change that double to a long long or something (been too long since I've done 64 bit, so I don't recall the exact syntax), double is plenty of space to store [a rounded representation of] that number on most platforms such as x86, and most FPUs are g

  • Not much (Score:3, Informative)

    by MerlynEmrys67 ( 583469 ) on Tuesday October 14, 2003 @06:21PM (#7213682)
    Ok, there are a few applications that 64 bits really help - some public key cryptography, and any application that has a process space over 4 GB (ok really 3 - but that is another story)

    actually I don't know this... does Athlon 64 have a 64 bit x 64 bit = 128 bit result operation ?

    The other applications that do really well with more memory are database type operations, where you are caching 16 GB of tables in memory so you don't have to go to disk (note, yes this means you need about 20 GB of RAM on the system)

    Have fun

    • Big monster databases, assuming you loaded it with much memory as you could afford. You start doing work on a 5G database on a machine with 6G or so of RAM and can actually use it all ... and leave the Wintel boxes behind eating your dust.
      • Hate to say it, but a 5 G database isn't considered monster by any strech of the imagination... It will also run fine on an even slightly tuned 32 bit system...

        What you want to look at is something well north of 100 G, oh and of that you want a 20-30 G working set... Now you are talking about something that can use 64 bits

        • A 5 gig database isn't a monster if we are talking Oracle or MS/SQL, but a 5 gig Foxpro database with associated index and memo fields is a monster.

          But I agree with you ... along the lines of 'if you are gonna dream, dream big' I see where you are going : if you are going to throttle your box with a large database (in order to make it look good against a 32 bit machine,) go for broke.

          Oh yea, and just like we saw when we went from 8 bit to 16 bit computing, and again when we went from 16 bit to 32 bit comp
    • check if [] has an optimized athlon64 client, or help in writing one, and then compare yourself to other's stats.
    • actually I don't know this... does Athlon 64 have a 64 bit x 64 bit = 128 bit result operation ?

      It does (it's just like the 32-bit x86 multiply except it puts the 128-bit result into rax:rdx, instead of the 64-bit result into eax:edx). And so, yes, you can do sick fast PK crypto on it. Half the number of words => 1/4 as much work, cause lots of the underlying algorithms (like multiplication) are O(n^2), or sometimes O(n^~1.6).

  • An easy easy answer. (Score:1, Informative)

    by tvadakia ( 314991 ) There's a lot of info there. Have fun.
    • Yeah, aside from press releases....Try to find something useful that runs on x86_64 hardware. Aside from RH Beta, Gentoo, & SuSE, there isn't much out there for these opterons. Good thing they perform damn well in 32 bit.
  • Ok, so maybe this is a bit troll-ish, but if you've spent the money to buy one of these things, wouldn't you have a target _application_ to run on said platform?

    I mean, the only thing you've proven is you can purchase something hot off the assembly line so that it can sit there and do 0 work for you. Don't you have an application or server or _something_ that you intend to use this machine for?

    If not, I hope you have some kind of justification for this box for your management in their budget ;)
  • Is here [], although I doubt it is the kind of distro you're looking for :)
  • you're looking for a long, straight road where you can push the needles into the red before letting off the gas (and then maybe a twisty mountain road to test cornering)

    No idea about auto drivers, but bikers have a word for this: squid. It's about as relevant as graphics card benchmarks.

    See, anyone worth a salt tailors the race to their bike. I ride a touring bike. I'll race any super sport ten laps around Laguna Seca. But we start and end the race in Maryland. My father has a super-motardish bike. He'll
  • I organise a small number-crunching project (computational number-theory),
    and if you'd like to race my code on your Athlon-64 verses everyone else's
    PII/III/4s and Athlons, I can let you have the source, and maybe reserve a
    chunk for you (it's not one of these flashy client-server setups). It assume
    the usual GNU compiler toolchain, so any linux distro or similar would be
    ideal. (Gentoo - get everything optimised for your system?)

  • (LINUX) cd /usr/src/linux && make -j .... see how long that takes ;-)... or (FreeBSD) cd /usr/src && make buildworld
  • SUSE for AMD64 (Score:3, Informative)

    by jfunk ( 33224 ) <> on Tuesday October 14, 2003 @08:12PM (#7214815) Homepage
    SUSE Linux Enterprise Server 8 for AMD64 has been around for a long time. That's why it was used in all of those Opteron benchmarks after it was released.

    For something a little more affordable, SUSE 9.0 for AMD64 will be released tomorrow. (Along with the IA32 version I preordered)

    For a no-cost alternative, you can download all 9 ISOs for the SUSE 8.2 for AMD64 beta here [].
  • 64 bit chess (Score:1, Interesting)

    by Anonymous Coward

    Some chess engines represent the chessboard using "bitboards". A bitboard is where you use every bit in a 64-bit unsigned int to represent the state of a square on the board. To represent the whole board you use multiple bitboards... for example:

    bbWhitePieces = 11111111111111110000000...0b; bbRooks = 1000000100000000....0b; ...

    To get the location of white rooks you would and the two bitboards above together. You'd have to store black pieces, knights, bishops etc... in their own boards. You get the i

  • Chess programs often express many aspects of a chess board in binary, with one bit per square. For example the attack pattern of a queen in the top left hand corner is:

    $7fC0A09088848281 (I think I have that right, if you break that up into one byte per row on the chess board you can check it).

    which neatly fits in one 64 bit word. It turns out that 64 bit processors are great for chess, significantly faster!

  • There are 32 pieces on board (max), each requires coordinates on 8*8 board, which can be represented by 8 bits. Overall, a position requires up to 8*32=256 bits. How can it fit into 1 64-bit register?
    • I think someone noted that you store a new array for each type of piece, and an 8*8 board, @ 1 bit per position is 64 bits. I don't quite understand it myself. I suppose you would have each 8x8 board assume the piece is in the middle of the board and show all the possible moves from THAT position, and just move it around the board to see what is possible. ie, the queen's matrix would look sort of like an asterik (an 8 starred one) originating from the middle of the board, and if the queen is in a corner, yo

  • Start working on porting GIMP, OpenOffice and some other apps to 64-bitness

"I have not the slightest confidence in 'spiritual manifestations.'" -- Robert G. Ingersoll