IA-64, IA-32, x86_64

One of the steps in my everyday workflow is pretty compute expensive. Clusters aren’t really meant for the kind of data intensive tasks that medical imaging deals with, so all of our machines are single image ones. I have my dual processor ia32 desktop, two ia64 SGI Altix machines, and a custom built x86_64 SMP machine with about 40 cores.

As I wrote in my previous post, the script that I ported to python is pretty smart (or so I thought.) It automatically detects the kind of architecture (using uname) and launches the appropriate binary. Though everything is backward compatible in theory, running ia32 code on the ia64 architecture is about 15 times slower.

Here’s a problem I have no solution to (this is on a ia64 machine):

> uname -p
ia64
> python
>>> import commands
>>> commands.getstatusoutput ("uname -p")
(0, 'i686')

3 Responses to “IA-64, IA-32, x86_64”

  1. Kamil Kisiel says:

    What does this give you?

    import os
    print os.uname()[4]

    If it’s still i686, is it possible that Python was not compiled against the 64-bit libraries on the system?

  2. ganesh says:

    It’s still i686. That’s quite possible – is there a way to check what kind of binary one is?

  3. Kamil Kisiel says:

    Easy way to check is

    import sys
    sys.maxint

    If it’s really big, you’ve got 64-bit :)