RSS/Atom feed Twitter
Site is read-only, email is disabled

gimp on 64 bit OS

This discussion is connected to the gimp-user-list.gnome.org mailing list which is provided by the GIMP developers and not related to gimpusers.com.

This is a read-only list on gimpusers.com so this discussion thread is read-only, too.

6 of 7 messages available
Toggle history

Please log in to manage your subscriptions.

gimp on 64 bit OS Ketil Froyn 06 Apr 19:59
  gimp on 64 bit OS Aaron Luptak 06 Apr 20:48
20050407062958.GA16207@schm... 07 Oct 20:17
  gimp on 64 bit OS Ketil Froyn 07 Apr 23:12
   gimp on 64 bit OS Sven Neumann 08 Apr 22:41
    gimp on 64 bit OS Joao S. O. Bueno Calligaris 09 Apr 03:56
   gimp on 64 bit OS Manish Singh 09 Apr 09:26
Ketil Froyn
2005-04-06 19:59:16 UTC (about 19 years ago)

gimp on 64 bit OS

Hi,

I am buying a new computer which I will use for photo editing with the GIMP. I am considering an AMD Athlon 64 processor, because with the 64 bit registers I am thinking many operations should be faster. However, I'm not sure the GIMP supports the 64 bit mode that well. Working is one thing, but actually squeezing all the juice out of my 64 bit CPU is something else! :)

So, my questions are: Does the GIMP work at all on 64 bit platforms? If so, would it do any good? If not, is this being worked on, and is there an approximate ETA?

Thanks!

Ketil Froyn ketil@froyn.name
http://ketil.froyn.name/

Aaron Luptak
2005-04-06 20:48:53 UTC (about 19 years ago)

gimp on 64 bit OS

I've got a dual opteron 242 setup, and gimp works beautifully. Note, however, that i'm running gentoo, so Gimp has been compiled from scratch with a 64-bit gcc.

As for improvements over 32-bit, I can't really say, my best comparison is comparing a 2x1.6gHz 64bit machine to a 1x0.9gHz 32 bit machine, so no real basis for comparison.

Also, I don't know if any of the filters in GIMP have been optimized with hand-written assembly, or if they are straight c/c++/whatever. If they're assembly, they may actually run slower as-is on amd64 than x86 (this has been the case with several media (de|en)coders), but that will change when someone writes an amd64 assembly version.

Ketil Froyn
2005-04-07 23:12:13 UTC (about 19 years ago)

gimp on 64 bit OS

On Thu, 7 Apr 2005, Marc Lehmann wrote:

On Wed, Apr 06, 2005 at 07:59:16PM +0200, Ketil Froyn wrote:

I am buying a new computer which I will use for photo editing with the GIMP. I am considering an AMD Athlon 64 processor, because with the 64 bit registers I am thinking many operations should be faster

In addition to the other answers you received: the speed increase does not usually come because a processor is 64 bit, but becaus eof other architectural changes.

Yes, usually, but I think the GIMP could actually utilize the 64 bit operations. See below...

All 64 bit architectures (most common today is amd64) feature more registers than the old x86 cpus had, which makes some speed increases possible. Also, other addressing modes and a better architecture are firther advantages that make code go faster.

so, would it do any good? If not, is this being worked on, and is there an approximate ETA?

Gimp is written in C, so it's mostly a question of just recompiling it for another architecture. gcc already does a fairly good job for amd64, so you can expect a speed increase over 32-bit code between 5% and 60% (20% is more typical).

Thanks for the responses. I guess one major limiting factor could be the types used internally by the GIMP. For instance, if it does operations on uint32 type variables internally, I'd think the compiler needs to be pretty clever to make use of 64 bit operations. But now I'm getting into deep waters here here...:) I was hoping someone in the know could confirm whether there's any point going to 64 bit to make the GIMP faster, rather than just getting a faster 32 bit CPU.

Ketil Froyn ketil@froyn.name
http://ketil.froyn.name/

Sven Neumann
2005-04-08 22:41:17 UTC (about 19 years ago)

gimp on 64 bit OS

Hi,

Ketil Froyn writes:

Thanks for the responses. I guess one major limiting factor could be the types used internally by the GIMP. For instance, if it does operations on uint32 type variables internally, I'd think the compiler needs to be pretty clever to make use of 64 bit operations. But now I'm getting into deep waters here here...:) I was hoping someone in the know could confirm whether there's any point going to 64 bit to make the GIMP faster, rather than just getting a faster 32 bit CPU.

The only real advantage you will get from a 64bit CPU is that you can address more than 4GB of RAM and will be able to handle very large images in GIMP provided that you actually stuff more than 4GB of RAM into your hardware.

Sven

Joao S. O. Bueno Calligaris
2005-04-09 03:56:22 UTC (about 19 years ago)

gimp on 64 bit OS

On Friday 08 April 2005 17:41, Sven Neumann wrote:

Hi,

Ketil Froyn writes:

Thanks for the responses. I guess one major limiting factor could be the types used internally by the GIMP. For instance, if it does operations on uint32 type variables internally, I'd think the compiler needs to be pretty clever to make use of 64 bit operations. But now I'm getting into deep waters here here...:) I was hoping someone in the know could confirm whether there's any point going to 64 bit to make the GIMP faster, rather than just getting a faster 32 bit CPU.

The only real advantage you will get from a 64bit CPU is that you can address more than 4GB of RAM and will be able to handle very large images in GIMP provided that you actually stuff more than 4GB of RAM into your hardware.

Actually, these 64 bit CPUs have more registers as well. I'd expect the compiler to make a better usage of them. Does this happen?

Ketil, as for the 64 bit integers - there could not possibly be a program benefiting from this directly. They still do one operation a time. Multiple operations with a single instruction (SIMD) is what would speed up an app CPU usage are the correlate processing units like 3Dnow, MMX and SSE. I'd guess the GIMP takes advantadge of MMX, SSE, SSE2, and these had not improved on the new 64 bit chips (btw, the registers relevant to SIMD were already 64 or 128 bit wide way before the move to 64 bit on the general purpose registers).

Certainly the SSE2 code might get some improvements..there is room for implementing 3Dnow code as well - it may not even get faster than SSE2 code on Athlons, but it would quite a task for one to perform. Do you have some spare time to learn coding 64/128 bit SIMD? :-)

Regards,

JS ->

Sven

Manish Singh
2005-04-09 09:26:31 UTC (about 19 years ago)

gimp on 64 bit OS

On Thu, Apr 07, 2005 at 11:12:13PM +0200, Ketil Froyn wrote:

Thanks for the responses. I guess one major limiting factor could be the types used internally by the GIMP. For instance, if it does operations on uint32 type variables internally, I'd think the compiler needs to be pretty clever to make use of 64 bit operations. But now I'm getting into deep waters here here...:) I was hoping someone in the know could confirm whether there's any point going to 64 bit to make the GIMP faster, rather than just getting a faster 32 bit CPU.

As mentioned in other parts of this thread, amd64 processors have twice the amount of general purpose registers, which means gcc can generate more efficient code. It also uses sse and sse2 instructions for floating point code, which is a big performance win over x87. But neither of these are anything 64-bit specific, and *all* applications will benefit without doing anything special.

The only 64-bit specific thing that GIMP will benefit from is if you have > 4 GB of memory and you're dealing with very large images. Since it can address that much memory directly, the image can be loaded entirely into RAM without any disk swapping.

You have a misconception that using 64-bits for everything internally will magically make things faster. In reality, this would make things slower, since data units will be 8 bytes vs. 4 bytes, which means you're using up more memory bandwidth and precious cache space. If your app only needs 32 bits of precision, then it's a waste of space and a waste of time to shuffle the extra bits back and forth.

Probably for this reason, amd64 has a default operand size of 32 bits, even in 64-bit mode. As a result, code size isn't siginificantly larger than x86 (you take a hit on the wider pointers, but that's offset by the doubling of the registers; gcc can do more with less code).

So there isn't much in GIMP that needs 64 bit integers, especially not in performance critical sections. There's the mmx, sse, sse2 acceleration for some functions, but those use 64-bit and 128-bit stuff on both x86 and amd64.

To summarize, an amd64 platform will give you better performance over an x86 platform, but mainly to due other aspects of its design, and not much to do with 64-bit wide integer operations.

-Yosh