Fast and Silent

August 8, 2007

 Imgs 040807-3-500

Just a quick note to comment on the speed of the Mac Pro I bought. It’s a four core machine (dual dual core), 3.0GHz, with 4GB of memory.

Mostly out of curiosity, I decided to compare the speed of some common operations in my digital workflow on the Mac Pro and on the old Windows machine (2.4GHz Athlon dual core, 3GB of memory). I was expecting things to be roughly 2.5-3x faster, but since some of the speedup was from increasing the number of CPUs, I would not have been surprised to find a less radical improvement.

On wide radius unsharp mask, the new machine is roughly eight times the speed of the old one (that is, the old machine took eight times as long to perform the task as the new one).

Running my noise reduction software of preference (Noise Ninja) on an image from my EOS-5d, the Mac Pro is roughly 4 times faster.

I was startled to see that both Photoshop and Noise Ninja were quite capable of parallelizing these two tasks. Maybe the software world (or at least the image processing software world) is more multi-cpu ready than I thought.

There’s a limit to the utility of speed, of course. Reducing the time to do the unsharp mask from 10 seconds to just over a second makes the work go more smoothly, but cutting it from 1.2 seconds down to .15 would not provide nearly the same benefit. Since my switch from scanned large format film to the EOS-5d for most of my photography, the speedups I’ve seen so far are nice but not earthshaking. But if I were working entirely with really large images (scanned 8×10 film, say, or images generated by stitching) the speedups would make the difference between operations being brief enough to sit and wait to see the results, instead of starting the operation, getting up and getting another cup of tea, and coming back.

Even better, the speed does not come at the cost of noise. When I built the dual processor Athlon machine, I took special care to build a machine which didn’t generate noise. It took a bit of work. Unlike the Mac G5 that my friend Rob loaned me (which makes noise rather like a fighter jet with afterburners on when the CPU usage ramps up) this machine is utterly silent all of the time. As someone who is afflicted with a sensitivity to environmental noise, I really appreciate this.

6 Responses to “Fast and Silent”

  1. Jeff Says:

    This has a lot to do with the new “Core” architecture used in the C2D chips. For a given clock speed, the new Core architecture will be substantially faster than a P4 or Athlon running at the same speed (as much as twice as fast when comparing to the P4).

  2. Gordon Says:

    It is lucky for us that most/many image processing algorithms are trivially decomposed in to parallel operations. Most of the algorithms operate on a small subset of the image - 64×64 grids of pixels around a particular pixel for example.

    the limiting factor in splitting up operations across multiple processors is usually any sequential dependencies between parts of the processing - wait until this is done before doing this. The second major bottleneck is if there is communication requires between the processors - change this bit this way, because of this, this and this from other processors - and how slow that communication is relative to the processing going on.

    With images, you could almost work on every single pixel on a different processor and get almost linear speed-up - 128 processors, 128x faster filtering, sharpening etc.

  3. Gordon Says:

    also it appears that CS2 for windows XP had a bug in the multi-processor code that stopped it using all the available virtual cores. Not sure when or if that was fixed in the general release and if it is pushed by default.

    http://www.adobe.com/support/downloads/detail.jsp?ftpID=3447

  4. Chris Says:

    Programming tools have become much more friendly for optimizing code for multiple processors. High performance matrix computation libraries that utilize multi-core machines are common and cheap, optimizing compilers will automatically generate machine code split work up between processors where it can, and meta-languages like OpenMP make it a breeze for programmers to write custom code to run on multiple processors.

  5. Andrew Says:

    A colleague of mine runs MS Vista on his 1.5 year old iBook because it’s faster than his brand new quad core PC at work.

  6. Steve Says:

    Your Mac Pro purchase is an interesting coincidence. The day you posted your experience regarding the cross-platform upgrade call to Adobe was the same day I called them for the same thing (and experienced the same amazing customer service.) I also ended up with the same Mac Pro, for the same reason: it was time for CS3, and I realized it was the perfect opportunity to make the platform change I’d contemplated for years.

    The transition to Mac was long overdue.

Leave a Reply